[BUG] int64_t datatype issue
LeiWang1999 opened this issue ยท 0 comments
LeiWang1999 commented
๐ Bug
considering an argmax kernel (output is assigned to int64_t), antares consider the int64_t as long long while nnfusion consider int64_t as signed long int, which makes confilct.
extern "C" __global__ __launch_bounds__(1) void ArgMax_float_int64_t_cuda_ArgMax_1_0_kernel1(float* __restrict__ input0, float* __restrict__ mediate0, long long* __restrict__ output0) {
// [thread_extent] blockIdx.x = 2
// [thread_extent] threadIdx.x = 1
// [thread_extent] blockIdx.y = 2
// [thread_extent] threadIdx.y = 1
((output0[(((int)blockIdx.y))]) = (((input0[(((((int)blockIdx.y) * 2) + ((int)blockIdx.x)))] == mediate0[(((int)blockIdx.y))]) ? ((long long)((int)blockIdx.x)) : output0[(((int)blockIdx.y))])));
}
extern void ArgMax_float_int64_t_cuda_ArgMax_1_0(unsigned mem, cudaStream_t stream, float* __restrict__ input0, int64_t* __restrict__ output0, float* __restrict__ mediate0)
{
ArgMax_float_int64_t_cuda_ArgMax_1_0_kernel0<<<dim3(2, 1, 1), dim3(32, 1, 1), mem, stream>>>(input0, mediate0);
ArgMax_float_int64_t_cuda_ArgMax_1_0_kernel1<<<dim3(2, 2, 1), dim3(1, 1, 1), mem, stream>>>(input0, mediate0, output0);
}
/*
nnfusion_rt/cuda_codegen/nnfusion_rt.cu(160): error: argument of type "int64_t *" is incompatible with parameter of type "long long *"
*/