diff --git a/acc/src/code_generator.c b/acc/src/code_generator.c index 5ba7ed5..b2eb8d3 100644 --- a/acc/src/code_generator.c +++ b/acc/src/code_generator.c @@ -506,11 +506,6 @@ traverse(const ASTNode* node) fprintf(CUDAHEADER, "%s", translate(node->postfix)); } -static void -gen_preprocessed_forward_declarations(void) -{ -} - static void generate_preprocessed_structures(void) { @@ -688,6 +683,27 @@ main(int argc, char** argv) assert(DSLHEADER); assert(CUDAHEADER); + // Add built-in params + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nx"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_ny"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nz"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_mx"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_my"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_mz"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nx_min"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_ny_min"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nz_min"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nx_max"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_ny_max"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nz_max"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_mxy"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nxy"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT, "AC_nxyz"); + + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT3, "AC_global_grid_n"); + add_symbol(SYMBOLTYPE_OTHER, UNIFORM, INT3, "AC_multigpu_offset"); + + // Generate traverse(root); generate_header(); generate_preprocessed_structures(); diff --git a/include/astaroth_defines.h b/include/astaroth_defines.h index 15ee0a2..d8a4027 100644 --- a/include/astaroth_defines.h +++ b/include/astaroth_defines.h @@ -71,26 +71,9 @@ typedef struct { #include "user_defines.h" // User-defined header // clang-format off -#define AC_FOR_BUILTIN_INT_PARAM_TYPES(FUNC)\ - FUNC(AC_nx), \ - FUNC(AC_ny), \ - FUNC(AC_nz), \ - FUNC(AC_mx), \ - FUNC(AC_my), \ - FUNC(AC_mz), \ - FUNC(AC_nx_min), \ - FUNC(AC_ny_min), \ - FUNC(AC_nz_min), \ - FUNC(AC_nx_max), \ - FUNC(AC_ny_max), \ - FUNC(AC_nz_max), \ - FUNC(AC_mxy),\ - FUNC(AC_nxy),\ - FUNC(AC_nxyz),\ +#define AC_FOR_BUILTIN_INT_PARAM_TYPES(FUNC) -#define AC_FOR_BUILTIN_INT3_PARAM_TYPES(FUNC)\ - FUNC(AC_global_grid_n),\ - FUNC(AC_multigpu_offset), +#define AC_FOR_BUILTIN_INT3_PARAM_TYPES(FUNC) #define AC_FOR_BUILTIN_REAL_PARAM_TYPES(FUNC)