INFO: No output directory specified (--dir) INFO: Using directory: "Template_DCM_20260315_155523" 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 86: 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 88: 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 91: 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 104: 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 108: 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 137: 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 108: 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 167: 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 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_DCM.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_DCM.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_DCM.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_DCM.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_DCM.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_DCM.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_DCM.c", line 863: 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 880: 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 882: 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 890: 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 892: 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 894: 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 896: 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 898: 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 994: 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 996: 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 998: 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 1000: 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 1002: 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 1004: 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 1006: 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 1008: 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 1010: 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 4616: warning: variable "num" was declared but never referenced [declared_but_not_referenced] int num = 3; ^ "./Template_DCM.c", line 6317: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./Template_DCM.c", line 6771: warning: variable "ret" was declared but never referenced [declared_but_not_referenced] int ret=1,stat=0,plane_stat=0; ^ "./Template_DCM.c", line 6944: warning: variable "D" was declared but never referenced [declared_but_not_referenced] double A,B,C,D,k; ^ "./Template_DCM.c", line 7185: 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 7187: 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 7194: 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 7214: 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 7216: 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 7218: 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 8669: 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 8675: 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 8681: 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 8688: 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 8698: 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 8704: 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 9138: 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 9525: warning: variable "tc2" was set but never used [set_but_not_used] Coords tc1, tc2; ^ "./Template_DCM.c", line 9513: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 1; ^ "./Template_DCM.c", line 9570: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 2; ^ "./Template_DCM.c", line 9654: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 3; ^ "./Template_DCM.c", line 9722: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 4; ^ "./Template_DCM.c", line 9807: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 5; ^ "./Template_DCM.c", line 9856: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 6; ^ "./Template_DCM.c", line 9941: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 7; ^ "./Template_DCM.c", line 9990: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 8; ^ "./Template_DCM.c", line 10123: warning: variable "status" was set but never used [set_but_not_used] int status = 0; ^ "./Template_DCM.c", line 10191: warning: variable "i" was declared but never referenced [declared_but_not_referenced] int i; ^ "./Template_DCM.c", line 10254: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./Template_DCM.c", line 10407: warning: incompatible redefinition of macro "exit" (declared at line 621) [bad_macro_redef] #define exit(...) noprintf() ^ "./Template_DCM.c", line 10419: 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 10499: 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 10620: 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 10785: 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 10785: 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 10785: 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 10919: 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 12047: warning: variable "t" was declared but never referenced [declared_but_not_referenced] time_t t; ^ "./Template_DCM.c", line 12048: warning: variable "ct" was set but never used [set_but_not_used] clock_t ct; ^ "./Template_DCM.c", line 1493: warning: variable "mcstartdate" was set but never used [set_but_not_used] static long mcstartdate = 0; /* start simulation time */ ^ "./Template_DCM.c", line 2962: warning: function "strcpy_valid" was declared but never referenced [declared_but_not_referenced] static char *strcpy_valid(char *valid, char *original) ^ mcgenstate: 97, Generating acc routine seq Generating NVIDIA GPU code particle_getvar: 111, Generating acc routine seq Generating NVIDIA GPU code particle_getvar_void: 144, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void: 169, 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: 1541, Generating acc routine seq Generating NVIDIA GPU code str_comp: 1545, Generating acc routine seq Generating NVIDIA GPU code str_len: 1554, Generating acc routine seq Generating NVIDIA GPU code mcget_ncount: 4234, Generating acc routine seq Generating NVIDIA GPU code coords_set: 4668, Generating acc routine seq Generating NVIDIA GPU code coords_get: 4679, Generating acc routine seq Generating NVIDIA GPU code coords_add: 4688, Generating acc routine seq Generating NVIDIA GPU code coords_sub: 4700, Generating acc routine seq Generating NVIDIA GPU code coords_neg: 4712, Generating acc routine seq Generating NVIDIA GPU code coords_scale: 4722, Generating acc routine seq Generating NVIDIA GPU code coords_sp: 4732, Generating acc routine seq Generating NVIDIA GPU code coords_xp: 4740, Generating acc routine seq Generating NVIDIA GPU code coords_len: 4750, Generating acc routine seq Generating NVIDIA GPU code coords_print: 4772, Generating acc routine seq Generating NVIDIA GPU code coords_norm: 4779, Generating acc routine seq Generating NVIDIA GPU code rot_set_rotation: 4825, Generating acc routine seq Generating NVIDIA GPU code rot_test_identity: 4860, Generating acc routine seq Generating NVIDIA GPU code rot_mul: 4871, Generating acc routine seq Generating NVIDIA GPU code rot_copy: 4888, Generating acc routine seq Generating NVIDIA GPU code rot_transpose: 4899, Generating acc routine seq Generating NVIDIA GPU code rot_apply: 4915, Generating acc routine seq Generating NVIDIA GPU code vec_prod_func: 4944, Generating acc routine seq Generating NVIDIA GPU code scalar_prod: 4955, Generating acc routine seq Generating NVIDIA GPU code norm_func: 4959, Generating acc routine seq Generating NVIDIA GPU code mccoordschange: 5136, Generating acc routine seq Generating NVIDIA GPU code mccoordschange_polarisation: 5167, Generating acc routine seq Generating NVIDIA GPU code normal_vec: 5184, Generating acc routine seq Generating NVIDIA GPU code solve_2nd_order: 5283, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_circle: 5367, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_angular: 5433, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_real: 5510, Generating acc routine seq Generating NVIDIA GPU code kiss_srandom: 5782, Generating acc routine seq Generating NVIDIA GPU code kiss_random: 5794, Generating acc routine seq Generating NVIDIA GPU code _hash: 5826, Generating acc routine seq Generating NVIDIA GPU code _randnorm2: 5867, Generating acc routine seq Generating NVIDIA GPU code _randtriangle: 5878, Generating acc routine seq Generating NVIDIA GPU code _rand01: 5883, Generating acc routine seq Generating NVIDIA GPU code _randpm1: 5891, Generating acc routine seq Generating NVIDIA GPU code _rand0max: 5899, Generating acc routine seq Generating NVIDIA GPU code _randminmax: 5906, Generating acc routine seq Generating NVIDIA GPU code mcsetstate: 6569, Generating acc routine seq Generating NVIDIA GPU code mcgetstate: 6605, Generating acc routine seq Generating NVIDIA GPU code inside_rectangle: 6666, Generating acc routine seq Generating NVIDIA GPU code box_intersect: 6682, Generating acc routine seq Generating NVIDIA GPU code cylinder_intersect: 6768, Generating acc routine seq Generating NVIDIA GPU code sphere_intersect: 6836, Generating acc routine seq Generating NVIDIA GPU code Table_Index: 7995, Generating acc routine seq Generating NVIDIA GPU code Table_Value: 8063, Generating acc routine seq Generating NVIDIA GPU code Table_Value2d: 8142, Generating acc routine seq Generating NVIDIA GPU code Table_Interp1d: 8610, Generating acc routine seq Generating NVIDIA GPU code Table_Interp1d_nearest: 8626, Generating acc routine seq Generating NVIDIA GPU code Table_Interp2d: 8644, Generating acc routine seq Generating NVIDIA GPU code Mx_CubicCrystalChi: 8724, Generating acc routine seq Generating NVIDIA GPU code Mx_DarwinReflectivityBC: 8813, Generating acc routine seq Generating NVIDIA GPU code cross: 8881, Generating acc routine seq Generating NVIDIA GPU code Mx_DiffractionDispersion: 8896, Generating acc routine seq Generating NVIDIA GPU code Mx_LaueReflectivityBC: 9029, Generating acc routine seq Generating NVIDIA GPU code Mx_DarwinReflectivity: 9136, Generating acc routine seq Generating NVIDIA GPU code init: 10378, 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: 10420, Generating acc routine seq Generating NVIDIA GPU code class_Source_pt_trace: 10500, Generating acc routine seq Generating NVIDIA GPU code class_E_monitor_trace: 10621, Generating acc routine seq Generating NVIDIA GPU code class_Bragg_crystal_trace: 10694, Generating acc routine seq Generating NVIDIA GPU code raytrace: 10919, Generating acc routine seq Generating NVIDIA GPU code raytrace_all: 11110, Generating implicit firstprivate(gpu_innerloop) Generating NVIDIA GPU code 11124, #pragma acc loop gang(numgangs), vector(vecsize) /* blockIdx.x threadIdx.x */ 11110, Local memory used for particleN 11124, Generating implicit firstprivate(mpi_node_rank,_particle,seed,ncount) finally: 11552, 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: 6026, Generating update device(mcdotrace) DEBUG: CMD: nvc finished INFO: ===