@@ -39,23 +39,23 @@ static GPUDefParameters GPUDefParametersLoad()
3939 };
4040}
4141
42- #define GPUCA_EXPORT_KERNEL_LB (name ) \
43- if (par.par_LB_maxThreads[i] > 0 ) { \
44- o << " #define GPUCA_LB_" GPUCA_M_STR (name) " " << par.par_LB_maxThreads [i]; \
45- if (par.par_LB_minBlocks [i] > 0 ) { \
46- o << " , " << par.par_LB_minBlocks [i]; \
47- } \
48- if (!forRTC && par.par_LB_forceBlocks [i] > 0 ) { \
49- o << " , " << par.par_LB_forceBlocks [i]; \
50- } \
51- o << " \n " ; \
52- } \
42+ #define GPUCA_EXPORT_KERNEL_LB (name ) \
43+ if (par.par_LB_maxThreads[i] > 0 ) { \
44+ o << " #define GPUCA_LB_" GPUCA_M_STR (name) " " << par.par_LB_maxThreads [i]; \
45+ if (par.par_LB_minBlocks [i] > 0 ) { \
46+ o << " , " << GPUCA_CEIL_INT_DIV ( par.par_LB_maxThreads [i] * par. par_LB_minBlocks [i], (minBlockFactor ? minBlockFactor : par. par_LB_maxThreads [i])); \
47+ } \
48+ if (!forRTC && par.par_LB_forceBlocks [i] > 0 ) { \
49+ o << " , " << par.par_LB_forceBlocks [i]; \
50+ } \
51+ o << " \n " ; \
52+ } \
5353 i++;
5454
5555#define GPUCA_EXPORT_KERNEL_PARAM (name ) \
5656 o << " #define GPUCA_PAR_" GPUCA_M_STR(name) " " << GPUCA_M_CAT(par.par_, name) << " \n " ;
5757
58- static std::string GPUDefParametersExport (const GPUDefParameters& par, bool forRTC)
58+ static std::string GPUDefParametersExport (const GPUDefParameters& par, bool forRTC, int32_t minBlockFactor = 0 )
5959{
6060 std::stringstream o; // clang-format off
6161 int32_t i = 0 ;
0 commit comments