INFO: No output directory specified (--dir) INFO: Using directory: "template_20260814_124727" INFO: Regenerating c-file: template.c DEBUG: CMD: /users/willend/micromamba/envs/mcstas-dev/bin/mcstas -t -o ./template.c template.instr CFLAGS= ----------------------------------------------------------- Generating single GPU kernel or single CPU section layout: ----------------------------------------------------------- Generating GPU/CPU -DFUNNEL layout: ----------------------------------------------------------- DEBUG: CMD: /users/willend/micromamba/envs/mcstas-dev/bin/mcstas finished INFO: Recompiling: ./template.out DEBUG: CMD: nvc -o ./template.out ./template.c -lm -fast -Minfo=accel -acc=gpu -gpu=mem:managed -DOPENACC "./template.c", line 88: warning: Routine "mcgenstate" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] _class_particle mcgenstate(void); ^ Remark: individual warnings can be suppressed with "--diag_suppress " "./template.c", line 90: warning: Routine "mcsetstate" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] _class_particle mcsetstate(double x, double y, double z, double vx, double vy, double vz, ^ "./template.c", line 93: warning: Routine "mcgetstate" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] _class_particle mcgetstate(_class_particle mcneutron, double *x, double *y, double *z, ^ "./template.c", line 107: warning: Routine "particle_getvar" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double particle_getvar(_class_particle *p, char *name, int *suc); ^ "./template.c", line 111: warning: Routine "str_comp" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int str_comp(char *str1, char *str2); ^ "./template.c", line 139: warning: Routine "particle_getvar_void" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void* particle_getvar_void(_class_particle *p, char *name, int *suc); ^ "./template.c", line 111: warning: Routine "str_comp" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int str_comp(char *str1, char *str2); ^ "./template.c", line 168: warning: Routine "particle_setvar_void" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int particle_setvar_void(_class_particle *, char *, void*); ^ "./template.c", line 190: warning: Routine "particle_setvar_void_array" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int particle_setvar_void_array(_class_particle *, char *, void*, int); ^ "./template.c", line 201: warning: Routine "particle_restore" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void particle_restore(_class_particle *p, _class_particle *p0); ^ "./template.c", line 212: warning: Routine "particle_getuservar_byid" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double particle_getuservar_byid(_class_particle *p, int id, int *suc){ ^ "./template.c", line 222: warning: Routine "particle_uservar_init" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void particle_uservar_init(_class_particle *p){ ^ "./template.c", line 289: warning: Routine "noprintf" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int noprintf(); ^ "./template.c", line 291: warning: Routine "str_len" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] size_t str_len(const char *s); ^ "./template.c", line 642: warning: Routine "mcget_ncount" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] unsigned long long int mcget_ncount(void); /* wrapper to set mcncount */ ^ "./template.c", line 865: warning: Routine "_randnorm2" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _randnorm2(randstate_t* state); ^ "./template.c", line 882: warning: Routine "kiss_srandom" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] uint64_t *kiss_srandom(uint64_t state[7], uint64_t seed); ^ "./template.c", line 884: warning: Routine "kiss_random" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] uint64_t kiss_random(uint64_t state[7]); ^ "./template.c", line 892: warning: Routine "_rand01" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _rand01(randstate_t* state); ^ "./template.c", line 894: warning: Routine "_randpm1" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _randpm1(randstate_t* state); ^ "./template.c", line 896: warning: Routine "_rand0max" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _rand0max(double max, randstate_t* state); ^ "./template.c", line 898: warning: Routine "_randminmax" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _randminmax(double min, double max, randstate_t* state); ^ "./template.c", line 900: warning: Routine "_randtriangle" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _randtriangle(randstate_t* state); ^ "./template.c", line 903: warning: Routine "_rand01_opague" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double _rand01_opague(void* state); ^ "./template.c", line 999: warning: Routine "coords_set" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_set(MCNUM x, MCNUM y, MCNUM z); ^ "./template.c", line 1001: warning: Routine "coords_get" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_get(Coords a, MCNUM *x, MCNUM *y, MCNUM *z); ^ "./template.c", line 1003: warning: Routine "coords_add" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_add(Coords a, Coords b); ^ "./template.c", line 1005: warning: Routine "coords_sub" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_sub(Coords a, Coords b); ^ "./template.c", line 1007: warning: Routine "coords_neg" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_neg(Coords a); ^ "./template.c", line 1009: warning: Routine "coords_scale" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_scale(Coords b, double scale); ^ "./template.c", line 1011: warning: Routine "coords_sp" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double coords_sp(Coords a, Coords b); ^ "./template.c", line 1013: warning: Routine "coords_xp" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] Coords coords_xp(Coords b, Coords c); ^ "./template.c", line 1015: warning: Routine "coords_len" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double coords_len(Coords a); ^ "./template.c", line 4197: warning: variable "exists" was set but never used [set_but_not_used] int exists=0; ^ "./template.c", line 4655: warning: variable "num" was declared but never referenced [declared_but_not_referenced] int num = 3; ^ "./template.c", line 6371: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./template.c", line 7127: warning: variable "tc2" was set but never used [set_but_not_used] Coords tc1, tc2; ^ "./template.c", line 7115: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 1; ^ "./template.c", line 7274: warning: Routine "class_Progress_bar_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_Progress_bar_trace(_class_Progress_bar *_comp ^ "./template.c", line 7358: warning: Routine "raytrace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int raytrace(_class_particle* _particle) { /* single event propagation, called by mccode_main for template:TRACE */ ^ "./template.c", line 8023: warning: variable "t" was declared but never referenced [declared_but_not_referenced] time_t t; ^ "./template.c", line 8024: warning: variable "ct" was set but never used [set_but_not_used] clock_t ct; ^ "./template.c", line 1518: warning: variable "mcstartdate" was set but never used [set_but_not_used] static long mcstartdate = 0; /* start simulation time */ ^ "./template.c", line 2992: warning: function "strcpy_valid" was declared but never referenced [declared_but_not_referenced] static char *strcpy_valid(char *valid, char *original) ^ mcgenstate: 100, Generating acc routine seq Generating NVIDIA GPU code particle_getvar: 114, Generating acc routine seq Generating NVIDIA GPU code particle_getvar_void: 146, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void: 170, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void_array: 192, Generating acc routine seq Generating NVIDIA GPU code particle_restore: 203, Generating acc routine seq Generating NVIDIA GPU code particle_getuservar_byid: 212, Generating acc routine seq Generating NVIDIA GPU code particle_uservar_init: 222, Generating acc routine seq Generating NVIDIA GPU code noprintf: 1567, Generating acc routine seq Generating NVIDIA GPU code str_comp: 1571, Generating acc routine seq Generating NVIDIA GPU code str_len: 1580, Generating acc routine seq Generating NVIDIA GPU code mcget_ncount: 4273, Generating acc routine seq Generating NVIDIA GPU code coords_set: 4707, Generating acc routine seq Generating NVIDIA GPU code coords_get: 4718, Generating acc routine seq Generating NVIDIA GPU code coords_add: 4727, Generating acc routine seq Generating NVIDIA GPU code coords_sub: 4739, Generating acc routine seq Generating NVIDIA GPU code coords_neg: 4751, Generating acc routine seq Generating NVIDIA GPU code coords_scale: 4761, Generating acc routine seq Generating NVIDIA GPU code coords_sp: 4771, Generating acc routine seq Generating NVIDIA GPU code coords_xp: 4779, Generating acc routine seq Generating NVIDIA GPU code coords_len: 4789, Generating acc routine seq Generating NVIDIA GPU code coords_print: 4811, Generating acc routine seq Generating NVIDIA GPU code coords_norm: 4818, Generating acc routine seq Generating NVIDIA GPU code rot_set_rotation: 4864, Generating acc routine seq Generating NVIDIA GPU code rot_test_identity: 4899, Generating acc routine seq Generating NVIDIA GPU code rot_mul: 4910, Generating acc routine seq Generating NVIDIA GPU code rot_copy: 4927, Generating acc routine seq Generating NVIDIA GPU code rot_transpose: 4938, Generating acc routine seq Generating NVIDIA GPU code rot_apply: 4954, Generating acc routine seq Generating NVIDIA GPU code vec_prod_func: 4983, Generating acc routine seq Generating NVIDIA GPU code scalar_prod: 4994, Generating acc routine seq Generating NVIDIA GPU code norm_func: 4998, Generating acc routine seq Generating NVIDIA GPU code mccoordschange: 5175, Generating acc routine seq Generating NVIDIA GPU code mccoordschange_polarisation: 5206, Generating acc routine seq Generating NVIDIA GPU code normal_vec: 5223, Generating acc routine seq Generating NVIDIA GPU code solve_2nd_order: 5322, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_circle: 5406, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_angular: 5472, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_real: 5549, Generating acc routine seq Generating NVIDIA GPU code kiss_srandom: 5821, Generating acc routine seq Generating NVIDIA GPU code kiss_random: 5833, Generating acc routine seq Generating NVIDIA GPU code _hash: 5865, Generating acc routine seq Generating NVIDIA GPU code _randnorm2: 5906, Generating acc routine seq Generating NVIDIA GPU code _randtriangle: 5917, Generating acc routine seq Generating NVIDIA GPU code _rand01: 5922, Generating acc routine seq Generating NVIDIA GPU code _rand01_opague: 5929, Generating acc routine seq Generating NVIDIA GPU code _randpm1: 5940, Generating acc routine seq Generating NVIDIA GPU code _rand0max: 5948, Generating acc routine seq Generating NVIDIA GPU code _randminmax: 5955, Generating acc routine seq Generating NVIDIA GPU code mcsetstate: 6640, Generating acc routine seq Generating NVIDIA GPU code mcgetstate: 6680, Generating acc routine seq Generating NVIDIA GPU code inside_rectangle: 6754, Generating acc routine seq Generating NVIDIA GPU code box_intersect: 6771, Generating acc routine seq Generating NVIDIA GPU code cylinder_intersect: 6886, Generating acc routine seq Generating NVIDIA GPU code sphere_intersect: 6941, Generating acc routine seq Generating NVIDIA GPU code init: 7232, Generating update device(_instrument_var,_Origin_var) class_Progress_bar_trace: 7275, Generating acc routine seq Generating NVIDIA GPU code raytrace: 7358, Generating acc routine seq Generating NVIDIA GPU code raytrace_all: 7439, Generating implicit firstprivate(gpu_innerloop) Generating NVIDIA GPU code 7370, #pragma acc loop seq 7453, #pragma acc loop gang(numgangs), vector(vecsize) /* blockIdx.x threadIdx.x */ 7439, Local memory used for .inl_.inl_c_2920_6121,particleN,.inl__particle_save_6103,.inl_.inl_.inl_c_1915_2935_6134,.inl_.inl_.inl_.inl_b_1900_1921__6139,.inl_.inl_.inl_.inl_.X1890_1899__6138,.inl_.inl_.inl_b_1911_2934_6133,.inl_.inl_.inl_c_1907_2928_6127,.inl_.inl_.inl_.inl_.X1890_1899__6149,.inl_.inl_.inl_.X1890_1905_2925_6125,.inl_.inl_.inl_b_1906_2926_6126,.inl_.inl_.X1874_2912_6113,.inl_.inl_.inl_b_1922_2945_6144,.inl_.inl_c_2909_6112,.inl_.inl_.inl_.inl_b_1900_1932__6150,.inl_.inl_.inl_.X1874_1910_2929_6128,.inl_.inl_a_2904_6110,.inl_.inl_.X1872_2908_6111,.inl_.inl_.X1873_2917_6117,.inl_.inl_b_2918_6120,.inl_.inl_.inl_c_1926_2946_6145 7453, Generating implicit firstprivate(seed,_particle) 7370, Complex loop carried dependence of _particle->flag_nocoordschange,_particle->x,_particle->y,_particle->z,_particle->,_particle+->,->,_particle->vz,_particle->vx,_particle->vy,_particle->sz,_particle->sx,_particle->sy,_particle->_absorbed,_particle->_index prevents parallelization Scalar last value needed after loop for .inl__particle_save_6103 at line 7398 Complex loop carried dependence of _particle->t,_particle->p,_particle->_restore,_particle->_scattered,_particle->mcMagnet prevents parallelization finally: 7718, Generating update self(_instrument_var,_Origin_var) mcenabletrace: 6076, Generating update device(mcdotrace) DEBUG: CMD: nvc finished INFO: ===