#include <assert.h>
#include <torch/extension.h>
#include <torch/serialize/tensor.h>
#include <vector>
#include <cstdint>
#define CHECK_CUDA(x) \
TORCH_CHECK(x.device().is_cuda(), #x, " must be a CUDAtensor ")
#define CHECK_CONTIGUOUS(x) \
TORCH_CHECK(x.is_contiguous(), #x, " must be contiguous ")
#define CHECK_INPUT(x) \
CHECK_CUDA(x); \
CHECK_CONTIGUOUS(x)
void ingroup_inds_launcher(
const int64_t *group_inds_data,
int64_t *out_inds_data,
int N,
int max_group_id
);
void ingroup_inds_gpu(
at::Tensor group_inds,
at::Tensor out_inds
);
void ingroup_inds_gpu(
at::Tensor group_inds,
at::Tensor out_inds
) {
CHECK_INPUT(group_inds);
CHECK_INPUT(out_inds);
int N = group_inds.size(0);
int max_group_id = group_inds.max().item().toLong();
int64_t *group_inds_data = group_inds.data_ptr<int64_t>();
int64_t *out_inds_data = out_inds.data_ptr<int64_t>();
ingroup_inds_launcher(
group_inds_data,
out_inds_data,
N,
max_group_id
);
}
PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
m.def("forward", &ingroup_inds_gpu, "cuda version of get_inner_win_inds of SST");
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ingroup_inds.zip (8个子文件)
ingroup_inds
ingroup_inds_op.py 632B
src
error.cuh 833B
ingroup_inds_kernel.cu 2KB
ingroup_inds.cpp 1KB
ingroup_inds_o.cpp 1KB
ingroup_inds_cuda.cp38-win_amd64.pyd 193KB
__pycache__
ingroup_inds_op.cpython-38.pyc 1011B
setup_inds.py 2KB
共 8 条
- 1
资源评论
- m0_588880872024-02-27资源内容详细全面,与描述一致,对我很有用,有一定的使用价值。
- 2301_784097992024-04-05支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
- 2301_768073662024-03-27资源值得借鉴的内容很多,那就浅学一下吧,值得下载!
AI视觉网奇
- 粉丝: 7w+
- 资源: 94
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功