Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
torch-scatter
Commits
85a25823
"torchvision/vscode:/vscode.git/clone" did not exist on "b2e95657cd5f389e3973212ba7ddbdcc751a7878"
Commit
85a25823
authored
Dec 19, 2017
by
rusty1s
Browse files
kernel call needs ifdef cplusplus and header include in cu
parent
8265429e
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
74 additions
and
50 deletions
+74
-50
build.sh
build.sh
+1
-0
torch_scatter/kernel/kernel.cu
torch_scatter/kernel/kernel.cu
+10
-4
torch_scatter/kernel/kernel.h
torch_scatter/kernel/kernel.h
+9
-0
torch_scatter/src/cuda.c
torch_scatter/src/cuda.c
+10
-4
torch_scatter/src/cuda.h
torch_scatter/src/cuda.h
+44
-42
No files found.
build.sh
View file @
85a25823
...
...
@@ -4,5 +4,6 @@ TORCH=$(python -c "import os; import torch; print(os.path.dirname(torch.__file__
SRC_DIR
=
torch_scatter/kernel
BUILD_DIR
=
torch_scatter/build
rm
-rf
$BUILD_DIR
mkdir
-p
$BUILD_DIR
nvcc
-c
-o
$BUILD_DIR
/kernel.so
$SRC_DIR
/kernel.cu
-Xcompiler
-fPIC
-shared
-I
$TORCH
/lib/include/TH
-I
$TORCH
/lib/include/THC
-I
$TORCH
/lib/include
-I
$SRC_DIR
torch_scatter/kernel/kernel.cu
View file @
85a25823
#include <THC/THC.h>
#define scatter_(NAME) TH_CONCAT_4(scatter_, NAME, _kernel_, Real)
#define index_backward TH_CONCAT_2(index_backward_kernel_, Real)
#include "kernel.h"
#include "generic/kernel.cu"
#include "THCGenerateAllTypes.h"
void
testtest
(
THCState
*
state
,
THCudaTensor
*
output
)
{
printf
(
"ICH BIN ENDLICH DRIN"
);
}
/* #define scatter_(NAME) TH_CONCAT_4(scatter_, NAME, _kernel_, Real) */
/* #define index_backward TH_CONCAT_2(index_backward_kernel_, Real) */
/* #include "generic/kernel.cu" */
/* #include "THCGenerateAllTypes.h" */
torch_scatter/kernel/kernel.h
View file @
85a25823
#ifdef __cplusplus
extern
"C"
{
#endif
void
testtest
(
THCState
*
state
,
THCudaTensor
*
output
);
#ifdef __cplusplus
}
#endif
torch_scatter/src/cuda.c
View file @
85a25823
...
...
@@ -2,10 +2,16 @@
#include "kernel.h"
#define scatter_(NAME) TH_CONCAT_4(scatter_, NAME, _cuda_, Real)
#define index_backward TH_CONCAT_2(index_backward_cuda_, Real)
/* #define scatter_(NAME) TH_CONCAT_4(scatter_, NAME, _cuda_, Real) */
/* #define scatter_kernel_(NAME) TH_CONCAT_4(scatter_, NAME, _kernel_, Real) */
/* #define index_backward TH_CONCAT_2(index_backward_cuda_, Real) */
/* #define index_backward_kernel TH_CONCAT_2(index_backward_kernel_, Real) */
extern
THCState
*
state
;
#include "generic/cuda.c"
#include "THCGenerateAllTypes.h"
void
test
(
THCudaTensor
*
output
)
{
testtest
(
state
,
output
);
}
/* #include "generic/cuda.c" */
/* #include "THCGenerateAllTypes.h" */
torch_scatter/src/cuda.h
View file @
85a25823
void
scatter_mul_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
input
);
void
scatter_mul_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
input
);
void
scatter_mul_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
input
);
void
scatter_mul_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
input
);
void
scatter_mul_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
input
);
void
scatter_mul_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
input
);
void
scatter_mul_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
input
);
void
test
(
THCudaTensor
*
output
);
void
scatter_
div
_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
input
);
void
scatter_
div
_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
input
);
void
scatter_
div
_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
input
);
void
scatter_
div
_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
input
);
void
scatter_
div
_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
input
);
void
scatter_
div
_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
input
);
void
scatter_
div
_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
input
);
/*
void scatter_
mul
_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *input);
*/
/*
void scatter_
mul
_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input);
*/
/*
void scatter_
mul
_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *input);
*/
/*
void scatter_
mul
_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *input);
*/
/*
void scatter_
mul
_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *input);
*/
/*
void scatter_
mul
_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *input);
*/
/*
void scatter_
mul
_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *input);
*/
void
scatter_
mean
_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
input
,
THCudaTensor
*
num_output
);
void
scatter_
mean
_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
input
,
THCudaDoubleTensor
*
num_output
);
void
scatter_
mean
_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
input
,
THCudaByteTensor
*
num_output
);
void
scatter_
mean
_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
input
,
THCudaCharTensor
*
num_output
);
void
scatter_
mean
_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
input
,
THCudaShortTensor
*
num_output
);
void
scatter_
mean
_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
input
,
THCudaIntTensor
*
num_output
);
void
scatter_
mean
_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
input
,
THCudaLongTensor
*
num_output
);
/*
void scatter_
div
_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *input
); */
/*
void scatter_
div
_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input
); */
/*
void scatter_
div
_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *input
); */
/*
void scatter_
div
_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *input
); */
/*
void scatter_
div
_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *input
); */
/*
void scatter_
div
_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *input
); */
/*
void scatter_
div
_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *input
); */
void
scatter_m
ax
_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
input
,
THCuda
Long
Tensor
*
arg
_output
);
void
scatter_m
ax
_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
input
,
THCudaLongTensor
*
arg
_output
);
/*
void scatter_m
ean
_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *input, THCudaTensor
*num
_output);
*/
/*
void scatter_m
ean
_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCuda
Double
Tensor *
num
_output);
*/
/*
void scatter_m
ean
_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *input, THCuda
Byte
Tensor
*num
_output);
*/
/*
void scatter_m
ean
_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *input, THCuda
Char
Tensor
*num
_output);
*/
/*
void scatter_m
ean
_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *input, THCuda
Short
Tensor
*num
_output);
*/
/*
void scatter_m
ean
_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *input, THCuda
Int
Tensor
*num
_output);
*/
/*
void scatter_m
ean
_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *input, THCudaLongTensor
*num
_output);
*/
void
scatter_m
in
_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
input
,
THCudaLongTensor
*
arg_output
);
void
scatter_m
in
_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
input
,
THCudaLongTensor
*
arg_output
);
/*
void scatter_m
ax
_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *input, THCudaLongTensor *arg_output);
*/
/*
void scatter_m
ax
_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *input, THCudaLongTensor *arg_output);
*/
void
index_backward_cuda_Float
(
int
dim
,
THCudaTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Double
(
int
dim
,
THCudaDoubleTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaDoubleTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Byte
(
int
dim
,
THCudaByteTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaByteTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Char
(
int
dim
,
THCudaCharTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaCharTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Short
(
int
dim
,
THCudaShortTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaShortTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Int
(
int
dim
,
THCudaIntTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaIntTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
void
index_backward_cuda_Long
(
int
dim
,
THCudaLongTensor
*
output
,
THCudaLongTensor
*
index
,
THCudaLongTensor
*
grad
,
THCudaLongTensor
*
arg_grad
);
/* void scatter_min_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *input, THCudaLongTensor *arg_output); */
/* void scatter_min_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *input, THCudaLongTensor *arg_output); */
/* void index_backward_cuda_Float (int dim, THCudaTensor *output, THCudaLongTensor *index, THCudaTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Double(int dim, THCudaDoubleTensor *output, THCudaLongTensor *index, THCudaDoubleTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Byte (int dim, THCudaByteTensor *output, THCudaLongTensor *index, THCudaByteTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Char (int dim, THCudaCharTensor *output, THCudaLongTensor *index, THCudaCharTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Short (int dim, THCudaShortTensor *output, THCudaLongTensor *index, THCudaShortTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Int (int dim, THCudaIntTensor *output, THCudaLongTensor *index, THCudaIntTensor *grad, THCudaLongTensor *arg_grad); */
/* void index_backward_cuda_Long (int dim, THCudaLongTensor *output, THCudaLongTensor *index, THCudaLongTensor *grad, THCudaLongTensor *arg_grad); */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment