INFO: No output directory specified (--dir) INFO: Using directory: "Template_DCM_20251212_162225" INFO: Regenerating c-file: Template_DCM.c DEBUG: CMD: /u/data/pkwi/McXtrace/mcxtrace/3.x-dev/bin/mcxtrace -t -o ./Template_DCM.c Template_DCM.instr CFLAGS= -std=c99 ----------------------------------------------------------- Generating single GPU kernel or single CPU section layout: ----------------------------------------------------------- Generating GPU/CPU -DFUNNEL layout: ----------------------------------------------------------- DEBUG: CMD: /u/data/pkwi/McXtrace/mcxtrace/3.x-dev/bin/mcxtrace finished INFO: Recompiling: ./Template_DCM.out DEBUG: CMD: nvc -o ./Template_DCM.out ./Template_DCM.c -lm -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/u/data/pkwi/McXtrace/mcxtrace/3.x-dev/miniconda3/lib -Wl,-rpath-link,/u/data/pkwi/McXtrace/mcxtrace/3.x-dev/miniconda3/lib -L/u/data/pkwi/McXtrace/mcxtrace/3.x-dev/miniconda3/lib -mtune=haswell -fPIC -O2 -isystem /u/data/pkwi/McXtrace/mcxtrace/3.x-dev/miniconda3/include -DUSE_MPI -lmpi -Wl,-rpath,/opt/nvidia/hpc_sdk/Linux_x86_64/25.9/comm_libs/12.9/openmpi4/openmpi-4.1.5/lib -L,/opt/nvidia/hpc_sdk/Linux_x86_64/25.9/comm_libs/12.9/openmpi4/openmpi-4.1.5/lib -I/opt/nvidia/hpc_sdk/Linux_x86_64/25.9/comm_libs/12.9/openmpi4/openmpi-4.1.5/include -fast -Minfo=accel -acc=gpu -gpu=mem:managed -DOPENACC -std=c99 "./Template_DCM.c", line 85: 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_DCM.c", line 87: 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 kx, double ky, double kz, ^ "./Template_DCM.c", line 90: 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 mcphoton, double *x, double *y, double *z, double *kx, double *ky, double *kz, ^ "./Template_DCM.c", line 105: 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_DCM.c", line 109: 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_DCM.c", line 138: 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_DCM.c", line 109: 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_DCM.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_DCM.c", line 191: 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_DCM.c", line 202: 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_DCM.c", line 213: 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_DCM.c", line 223: 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_DCM.c", line 290: 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_DCM.c", line 292: 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_DCM.c", line 643: 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_DCM.c", line 864: 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_DCM.c", line 881: 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_DCM.c", line 883: 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_DCM.c", line 891: 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_DCM.c", line 893: 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_DCM.c", line 895: 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_DCM.c", line 897: 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_DCM.c", line 899: 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_DCM.c", line 995: 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_DCM.c", line 997: 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_DCM.c", line 999: 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_DCM.c", line 1001: 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_DCM.c", line 1003: 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_DCM.c", line 1005: 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_DCM.c", line 1007: 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_DCM.c", line 1009: 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_DCM.c", line 1011: 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_DCM.c", line 4617: warning: variable "num" was declared but never referenced [declared_but_not_referenced] int num = 3; ^ "./Template_DCM.c", line 6318: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./Template_DCM.c", line 6772: warning: variable "ret" was declared but never referenced [declared_but_not_referenced] int ret=1,stat=0,plane_stat=0; ^ "./Template_DCM.c", line 6945: warning: variable "D" was declared but never referenced [declared_but_not_referenced] double A,B,C,D,k; ^ "./Template_DCM.c", line 7186: warning: Routine "Table_Index" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Index(t_Table Table, long i, long j); /* get indexed value */ ^ "./Template_DCM.c", line 7188: warning: Routine "Table_Value" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Value(t_Table Table, double X, long j); /* search X in 1st column and return interpolated value in j-column */ ^ "./Template_DCM.c", line 7195: warning: Routine "Table_Value2d" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Value2d(t_Table Table, double X, double Y); /* same as Table_Index with non-integer indices and 2d interpolation */ ^ "./Template_DCM.c", line 7215: warning: Routine "Table_Interp1d" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Interp1d(double x, double x1, double y1, double x2, double y2); ^ "./Template_DCM.c", line 7217: warning: Routine "Table_Interp1d_nearest" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Interp1d_nearest(double x, double x1, double y1, double x2, double y2); ^ "./Template_DCM.c", line 7219: warning: Routine "Table_Interp2d" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] double Table_Interp2d(double x, double y, double x1, double y1, double x2, double y2, ^ "./Template_DCM.c", line 8670: warning: Routine "Mx_CubicCrystalChi" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void Mx_CubicCrystalChi(double complex *chi0, double complex *chih, double *k0mag, double *hscale, double *thetaB, ^ "./Template_DCM.c", line 8676: warning: Routine "Mx_DiffractionDispersion" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int Mx_DiffractionDispersion(double complex kqvals[4], double complex xi0[4], double complex xih[4], ^ "./Template_DCM.c", line 8682: warning: Routine "Mx_DarwinReflectivityBC" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int Mx_DarwinReflectivityBC(double *Rsig, double *Rpi, double kh[3], ^ "./Template_DCM.c", line 8689: warning: Routine "Mx_LaueReflectivityBC" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int Mx_LaueReflectivityBC(double *Rsig, double *Rpi, double *Tsig, double *Tpi, ^ "./Template_DCM.c", line 8699: warning: Routine "Mx_DarwinReflectivity" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void Mx_DarwinReflectivity(double *R, double *Thetah, double *Theta0, double *DeltaTheta0, ^ "./Template_DCM.c", line 8705: warning: Routine "cross" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void cross(double res[3], const double v1[3], const double v2[3], int unitize); ^ "./Template_DCM.c", line 9139: warning: variable "theta0" was declared but never referenced [declared_but_not_referenced] double lambda,theta,theta0,DeltaThetas,a,d,b,C,W,kappa,g,L; ^ "./Template_DCM.c", line 9526: warning: variable "tc2" was set but never used [set_but_not_used] Coords tc1, tc2; ^ "./Template_DCM.c", line 9514: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 1; ^ "./Template_DCM.c", line 9571: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 2; ^ "./Template_DCM.c", line 9655: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 3; ^ "./Template_DCM.c", line 9723: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 4; ^ "./Template_DCM.c", line 9808: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 5; ^ "./Template_DCM.c", line 9857: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 6; ^ "./Template_DCM.c", line 9942: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 7; ^ "./Template_DCM.c", line 9991: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 8; ^ "./Template_DCM.c", line 10125: warning: variable "status" was set but never used [set_but_not_used] int status=0; ^ "./Template_DCM.c", line 10192: warning: variable "i" was declared but never referenced [declared_but_not_referenced] int i; ^ "./Template_DCM.c", line 10252: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./Template_DCM.c", line 10398: warning: incompatible redefinition of macro "exit" (declared at line 622) [bad_macro_redef] #define exit(...) noprintf() ^ "./Template_DCM.c", line 10410: 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_DCM.c", line 10501: warning: Routine "class_Source_pt_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_Source_pt_trace(_class_Source_pt *_comp ^ "./Template_DCM.c", line 10618: warning: Routine "class_E_monitor_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_E_monitor_trace(_class_E_monitor *_comp ^ "./Template_DCM.c", line 10693: warning: Routine "class_Bragg_crystal_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_Bragg_crystal_trace(_class_Bragg_crystal *_comp ^ "./Template_DCM.c", line 10773: warning: variable "Ex0" was declared but never referenced [declared_but_not_referenced] double kx0=kx, ky0=ky, kz0=kz, Ex0=Ex, Ey0=Ey, Ez0=Ez; ^ "./Template_DCM.c", line 10773: warning: variable "Ey0" was declared but never referenced [declared_but_not_referenced] double kx0=kx, ky0=ky, kz0=kz, Ex0=Ex, Ey0=Ey, Ez0=Ez; ^ "./Template_DCM.c", line 10773: warning: variable "Ez0" was declared but never referenced [declared_but_not_referenced] double kx0=kx, ky0=ky, kz0=kz, Ex0=Ex, Ey0=Ey, Ez0=Ez; ^ "./Template_DCM.c", line 10729: warning: variable "Thetaout" was declared but never referenced [declared_but_not_referenced] double Thetaout; // (rad) angle between the crystal surface and the reflected ray ^ "./Template_DCM.c", line 10893: 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_DCM:TRACE */ ^ "./Template_DCM.c", line 12036: warning: variable "t" was declared but never referenced [declared_but_not_referenced] time_t t; ^ "./Template_DCM.c", line 12037: warning: variable "ct" was set but never used [set_but_not_used] clock_t ct; ^ "./Template_DCM.c", line 1494: warning: variable "mcstartdate" was set but never used [set_but_not_used] static long mcstartdate = 0; /* start simulation time */ ^ "./Template_DCM.c", line 2963: warning: function "strcpy_valid" was declared but never referenced [declared_but_not_referenced] static char *strcpy_valid(char *valid, char *original) ^ mcgenstate: 98, Generating acc routine seq Generating NVIDIA GPU code particle_getvar: 112, Generating acc routine seq Generating NVIDIA GPU code particle_getvar_void: 145, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void: 170, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void_array: 193, Generating acc routine seq Generating NVIDIA GPU code particle_restore: 204, Generating acc routine seq Generating NVIDIA GPU code particle_getuservar_byid: 213, Generating acc routine seq Generating NVIDIA GPU code particle_uservar_init: 223, Generating acc routine seq Generating NVIDIA GPU code noprintf: 1542, Generating acc routine seq Generating NVIDIA GPU code str_comp: 1546, Generating acc routine seq Generating NVIDIA GPU code str_len: 1555, Generating acc routine seq Generating NVIDIA GPU code mcget_ncount: 4235, Generating acc routine seq Generating NVIDIA GPU code coords_set: 4669, Generating acc routine seq Generating NVIDIA GPU code coords_get: 4680, Generating acc routine seq Generating NVIDIA GPU code coords_add: 4689, Generating acc routine seq Generating NVIDIA GPU code coords_sub: 4701, Generating acc routine seq Generating NVIDIA GPU code coords_neg: 4713, Generating acc routine seq Generating NVIDIA GPU code coords_scale: 4723, Generating acc routine seq Generating NVIDIA GPU code coords_sp: 4733, Generating acc routine seq Generating NVIDIA GPU code coords_xp: 4741, Generating acc routine seq Generating NVIDIA GPU code coords_len: 4751, Generating acc routine seq Generating NVIDIA GPU code coords_print: 4773, Generating acc routine seq Generating NVIDIA GPU code coords_norm: 4780, Generating acc routine seq Generating NVIDIA GPU code rot_set_rotation: 4826, Generating acc routine seq Generating NVIDIA GPU code rot_test_identity: 4861, Generating acc routine seq Generating NVIDIA GPU code rot_mul: 4872, Generating acc routine seq Generating NVIDIA GPU code rot_copy: 4889, Generating acc routine seq Generating NVIDIA GPU code rot_transpose: 4900, Generating acc routine seq Generating NVIDIA GPU code rot_apply: 4916, Generating acc routine seq Generating NVIDIA GPU code vec_prod_func: 4945, Generating acc routine seq Generating NVIDIA GPU code scalar_prod: 4956, Generating acc routine seq Generating NVIDIA GPU code norm_func: 4960, Generating acc routine seq Generating NVIDIA GPU code mccoordschange: 5137, Generating acc routine seq Generating NVIDIA GPU code mccoordschange_polarisation: 5168, Generating acc routine seq Generating NVIDIA GPU code normal_vec: 5185, Generating acc routine seq Generating NVIDIA GPU code solve_2nd_order: 5284, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_circle: 5368, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_angular: 5434, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_real: 5511, Generating acc routine seq Generating NVIDIA GPU code kiss_srandom: 5783, Generating acc routine seq Generating NVIDIA GPU code kiss_random: 5795, Generating acc routine seq Generating NVIDIA GPU code _hash: 5827, Generating acc routine seq Generating NVIDIA GPU code _randnorm2: 5868, Generating acc routine seq Generating NVIDIA GPU code _randtriangle: 5879, Generating acc routine seq Generating NVIDIA GPU code _rand01: 5884, Generating acc routine seq Generating NVIDIA GPU code _randpm1: 5892, Generating acc routine seq Generating NVIDIA GPU code _rand0max: 5900, Generating acc routine seq Generating NVIDIA GPU code _randminmax: 5907, Generating acc routine seq Generating NVIDIA GPU code mcsetstate: 6570, Generating acc routine seq Generating NVIDIA GPU code mcgetstate: 6606, Generating acc routine seq Generating NVIDIA GPU code inside_rectangle: 6667, Generating acc routine seq Generating NVIDIA GPU code box_intersect: 6683, Generating acc routine seq Generating NVIDIA GPU code cylinder_intersect: 6769, Generating acc routine seq Generating NVIDIA GPU code sphere_intersect: 6837, Generating acc routine seq Generating NVIDIA GPU code Table_Index: 7996, Generating acc routine seq Generating NVIDIA GPU code Table_Value: 8064, Generating acc routine seq Generating NVIDIA GPU code Table_Value2d: 8143, Generating acc routine seq Generating NVIDIA GPU code Table_Interp1d: 8611, Generating acc routine seq Generating NVIDIA GPU code Table_Interp1d_nearest: 8627, Generating acc routine seq Generating NVIDIA GPU code Table_Interp2d: 8645, Generating acc routine seq Generating NVIDIA GPU code Mx_CubicCrystalChi: 8725, Generating acc routine seq Generating NVIDIA GPU code Mx_DarwinReflectivityBC: 8814, Generating acc routine seq Generating NVIDIA GPU code cross: 8882, Generating acc routine seq Generating NVIDIA GPU code Mx_DiffractionDispersion: 8897, Generating acc routine seq Generating NVIDIA GPU code Mx_LaueReflectivityBC: 9030, Generating acc routine seq Generating NVIDIA GPU code Mx_DarwinReflectivity: 9137, Generating acc routine seq Generating NVIDIA GPU code init: 10370, Generating update device(_instrument_var,_source_pt_var,_origin_var,_dcm_xtal1_var,_dcm1_var,_dcm_xtal0_var,_dcm0_var,_emon_dcm0_var,_emon_dcm1_var) class_Progress_bar_trace: 10411, Generating acc routine seq Generating NVIDIA GPU code class_Source_pt_trace: 10502, Generating acc routine seq Generating NVIDIA GPU code class_E_monitor_trace: 10619, Generating acc routine seq Generating NVIDIA GPU code class_Bragg_crystal_trace: 10694, Generating acc routine seq Generating NVIDIA GPU code raytrace: 10893, Generating acc routine seq Generating NVIDIA GPU code raytrace_all: 11084, Generating implicit firstprivate(gpu_innerloop) Generating NVIDIA GPU code 11098, #pragma acc loop gang(numgangs), vector(vecsize) /* blockIdx.x threadIdx.x */ 11084, Local memory used for particleN 11098, Generating implicit firstprivate(mpi_node_rank,_particle,seed,ncount) finally: 11536, Generating update self(_instrument_var,_origin_var,_source_pt_var,_dcm_xtal1_var,_dcm1_var,_dcm_xtal0_var,_dcm0_var,_emon_dcm0_var,_emon_dcm1_var) mcenabletrace: 6027, Generating update device(mcdotrace) DEBUG: CMD: nvc finished INFO: ===