1
0
mirror of https://github.com/paboyle/Grid.git synced 2026-05-14 22:24:30 +01:00

Including guard on accelerator_for2dNB against invalid kernel configurations if GRID_HIP

This commit is contained in:
Julio Maia
2026-05-06 11:38:57 -05:00
parent b37390bb5a
commit 66da4e0657
+14 -16
View File
@@ -432,22 +432,20 @@ accelerator_inline int acceleratorSIMTlane(int Nsimd) {
#define accelerator_for2dNB( iter1, num1, iter2, num2, nsimd, ... ) \ #define accelerator_for2dNB( iter1, num1, iter2, num2, nsimd, ... ) \
{ \ { \
typedef uint64_t Iterator; \ if (num1*num2) { \
auto lambda = [=] accelerator \ typedef uint64_t Iterator; \
(Iterator iter1,Iterator iter2,Iterator lane ) mutable { \ auto lambda = [=] accelerator \
{ __VA_ARGS__;} \ (Iterator iter1,Iterator iter2,Iterator lane ) mutable { \
}; \ { __VA_ARGS__;} \
int nt=acceleratorThreads(); \ }; \
dim3 hip_threads(nsimd, nt, 1); \ int nt=acceleratorThreads(); \
dim3 hip_blocks ((num1+nt-1)/nt,num2,1); \ dim3 hip_threads(nsimd, nt, 1); \
if(hip_threads.x * hip_threads.y * hip_threads.z <= 64){ \ dim3 hip_blocks ((num1+nt-1)/nt,num2,1); \
hipLaunchKernelGGL(LambdaApply64,hip_blocks,hip_threads, \ if(hip_threads.x * hip_threads.y * hip_threads.z <= 64){ \
0,computeStream, \ LambdaApply64<<<hip_blocks,hip_threads,0,computeStream>>>(num1,num2,nsimd,lambda); \
num1,num2,nsimd, lambda); \ } else { \
} else { \ LambdaApply<<<hip_blocks,hip_threads,0,computeStream>>>(num1,num2,nsimd,lambda); \
hipLaunchKernelGGL(LambdaApply,hip_blocks,hip_threads, \ } \
0,computeStream, \
num1,num2,nsimd, lambda); \
} \ } \
} }