Streams are now generated with acc

This commit is contained in:
jpekkila
2020-06-25 20:40:02 +03:00
parent 0a19192004
commit 39c7fc6c6f
2 changed files with 42 additions and 23 deletions

View File

@@ -707,6 +707,48 @@ generate_headers(void)
end type AcMeshInfo end type AcMeshInfo
)"; )";
fprintf(FHEADER, "%s\n", fortran_structs); fprintf(FHEADER, "%s\n", fortran_structs);
// Streams
const size_t nstreams = 20;
for (size_t i = 0; i < nstreams; ++i) {
fprintf(DSLHEADER, "#define STREAM_%lu (%lu)\n", i, i);
fprintf(FHEADER, "integer(c_int), parameter :: STREAM_%lu = %lu\n", i, i);
}
fprintf(DSLHEADER, "#define NUM_STREAMS (%lu)\n", nstreams);
fprintf(DSLHEADER, "#define STREAM_DEFAULT (STREAM_0)\n");
fprintf(DSLHEADER, "#define STREAM_ALL (NUM_STREAMS)\n");
fprintf(FHEADER, "integer(c_int), parameter :: NUM_STREAMS = %lu\n", nstreams);
fprintf(FHEADER, "integer(c_int), parameter :: STREAM_DEFAULT = STREAM_0\n");
fprintf(FHEADER, "integer(c_int), parameter :: STREAM_ALL = NUM_STREAMS\n");
fprintf(DSLHEADER, "typedef int Stream;\n");
/*
// Reduction types
const size_t counter = 0;
fprintf(DSLHEADER, "#define RTYPE_MAX (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter);
++counter;
fprintf(DSLHEADER, "#define RTYPE_MIN (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MIN = %lu\n", counter);
++counter;
fprintf(DSLHEADER, "#define RTYPE_RMS (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS = %lu\n", counter);
++counter;
fprintf(DSLHEADER, "#define RTYPE_RMS_EXP (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_RMS_EXP = %lu\n", counter);
++counter;
fprintf(DSLHEADER, "#define RTYPE_SUM (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_SUM = %lu\n", counter);
++counter;
fprintf(DSLHEADER, "#define RTYPE_MAX (%lu)\n", counter);
fprintf(FHEADER, "integer(c_int), parameter :: RTYPE_MAX = %lu\n", counter);
++counter;
*/
} }
static void static void

View File

@@ -59,29 +59,6 @@ typedef enum {
NUM_REDUCTION_TYPES NUM_REDUCTION_TYPES
} ReductionType; } ReductionType;
typedef enum {
STREAM_DEFAULT,
STREAM_0,
STREAM_1,
STREAM_2,
STREAM_3,
STREAM_4,
STREAM_5,
STREAM_6,
STREAM_7,
STREAM_8,
STREAM_9,
STREAM_10,
STREAM_11,
STREAM_12,
STREAM_13,
STREAM_14,
STREAM_15,
STREAM_16,
NUM_STREAMS
} Stream;
#define STREAM_ALL (NUM_STREAMS)
#define AC_GEN_ID(X) X, #define AC_GEN_ID(X) X,
typedef enum { typedef enum {
AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_ID) // AC_FOR_USER_INT_PARAM_TYPES(AC_GEN_ID) //