INFO: No output directory specified (--dir) INFO: Using directory: "NCrystal_example_20251212_022710" INFO: Regenerating c-file: NCrystal_example.c DEBUG: CMD: /u/data/pkwi/McStas/mcstas/3.x-dev/bin/mcstas -t -o ./NCrystal_example.c NCrystal_example.instr CFLAGS= @NCRYSTALFLAGS@ -DFUNNEL ----------------------------------------------------------- Generating single GPU kernel or single CPU section layout: -> SPLIT N at component monochromator -> SPLIT N at component powder_sample ----------------------------------------------------------- Generating GPU/CPU -DFUNNEL layout: Component monochromator is NOACC, CPUONLY=1 -> FUNNEL mode enabled, SPLIT within buffer. -> SPLIT within buffer at component monochromator -> GPU kernel from component mono_out Component powder_sample is NOACC, CPUONLY=1 -> FUNNEL mode enabled, SPLIT within buffer. -> SPLIT within buffer at component powder_sample -> GPU kernel from component powder_pattern_detc ----------------------------------------------------------- DEBUG: CMD: /u/data/pkwi/McStas/mcstas/3.x-dev/bin/mcstas finished INFO: Recompiling: ./NCrystal_example.out --> launching cmd: ncrystal-config --show buildflags DEBUG: CMD: nvc -o ./NCrystal_example.out ./NCrystal_example.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/McStas/mcstas/3.x-dev/miniconda3/lib -Wl,-rpath-link,/u/data/pkwi/McStas/mcstas/3.x-dev/miniconda3/lib -L/u/data/pkwi/McStas/mcstas/3.x-dev/miniconda3/lib -mtune=haswell -fPIC -O2 -isystem /u/data/pkwi/McStas/mcstas/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 -Wl,-rpath,/u/data/pkwi/McStas/mcstas/3.x-dev/miniconda3/lib -Wl,/u/data/pkwi/McStas/mcstas/3.x-dev/miniconda3/lib/libNCrystal.so -I/u/data/pkwi/McStas/mcstas/3.x-dev/miniconda3/include -DFUNNEL "./NCrystal_example.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 " "./NCrystal_example.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, ^ "./NCrystal_example.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, ^ "./NCrystal_example.c", line 109: 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); ^ "./NCrystal_example.c", line 113: 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); ^ "./NCrystal_example.c", line 141: 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); ^ "./NCrystal_example.c", line 113: 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); ^ "./NCrystal_example.c", line 170: 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*); ^ "./NCrystal_example.c", line 192: 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); ^ "./NCrystal_example.c", line 203: 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); ^ "./NCrystal_example.c", line 214: 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){ ^ "./NCrystal_example.c", line 224: 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){ ^ "./NCrystal_example.c", line 291: warning: Routine "noprintf" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] int noprintf(); ^ "./NCrystal_example.c", line 293: 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); ^ "./NCrystal_example.c", line 644: 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 */ ^ "./NCrystal_example.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); ^ "./NCrystal_example.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); ^ "./NCrystal_example.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]); ^ "./NCrystal_example.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); ^ "./NCrystal_example.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); ^ "./NCrystal_example.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); ^ "./NCrystal_example.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); ^ "./NCrystal_example.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); ^ "./NCrystal_example.c", line 996: 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); ^ "./NCrystal_example.c", line 998: 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); ^ "./NCrystal_example.c", line 1000: 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); ^ "./NCrystal_example.c", line 1002: 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); ^ "./NCrystal_example.c", line 1004: 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); ^ "./NCrystal_example.c", line 1006: 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); ^ "./NCrystal_example.c", line 1008: 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); ^ "./NCrystal_example.c", line 1010: 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); ^ "./NCrystal_example.c", line 1012: 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); ^ "./NCrystal_example.c", line 4627: warning: variable "num" was declared but never referenced [declared_but_not_referenced] int num = 3; ^ "./NCrystal_example.c", line 5082: warning: variable "randstate" was declared but never referenced [declared_but_not_referenced] randstate_t randstate[7]; ^ "./NCrystal_example.c", line 5001: warning: variable "newlen" was declared but never referenced [declared_but_not_referenced] long newlen = 0; ^ "./NCrystal_example.c", line 6328: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./NCrystal_example.c", line 7069: warning: missing return statement at end of non-void function "ncrystalsample_surfintersect" [implicit_return_from_non_void_function] } ^ "./NCrystal_example.c", line 7322: warning: variable "tc2" was set but never used [set_but_not_used] Coords tc1, tc2; ^ "./NCrystal_example.c", line 7310: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 1; ^ "./NCrystal_example.c", line 7367: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 2; ^ "./NCrystal_example.c", line 7438: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 3; ^ "./NCrystal_example.c", line 7487: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 4; ^ "./NCrystal_example.c", line 7555: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 5; ^ "./NCrystal_example.c", line 7604: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 6; ^ "./NCrystal_example.c", line 7672: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 7; ^ "./NCrystal_example.c", line 8076: warning: incompatible redefinition of macro "exit" (declared at line 623) [bad_macro_redef] #define exit(...) noprintf() ^ "./NCrystal_example.c", line 8088: 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 ^ "./NCrystal_example.c", line 8178: warning: Routine "class_Source_div_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_Source_div_trace(_class_Source_div *_comp ^ "./NCrystal_example.c", line 8435: warning: Routine "class_Cyl_monitor_trace" will be treated as sequential because its "routine" directive doesn't specify a level of parallelism [no_routine_type] void class_Cyl_monitor_trace(_class_Cyl_monitor *_comp ^ "./NCrystal_example.c", line 8451: warning: variable "j" was declared but never referenced [declared_but_not_referenced] int i, j; ^ "./NCrystal_example.c", line 8896: warning: variable "_particle_save" was declared but never referenced [declared_but_not_referenced] _class_particle _particle_save; ^ "./NCrystal_example.c", line 9700: warning: variable "t" was declared but never referenced [declared_but_not_referenced] time_t t; ^ "./NCrystal_example.c", line 9701: warning: variable "ct" was set but never used [set_but_not_used] clock_t ct; ^ "./NCrystal_example.c", line 1504: warning: variable "mcstartdate" was set but never used [set_but_not_used] static long mcstartdate = 0; /* start simulation time */ ^ "./NCrystal_example.c", line 2973: warning: function "strcpy_valid" was declared but never referenced [declared_but_not_referenced] static char *strcpy_valid(char *valid, char *original) ^ mcgenstate: 102, Generating acc routine seq Generating NVIDIA GPU code particle_getvar: 116, Generating acc routine seq Generating NVIDIA GPU code particle_getvar_void: 148, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void: 172, Generating acc routine seq Generating NVIDIA GPU code particle_setvar_void_array: 194, Generating acc routine seq Generating NVIDIA GPU code particle_restore: 205, Generating acc routine seq Generating NVIDIA GPU code particle_getuservar_byid: 214, Generating acc routine seq Generating NVIDIA GPU code particle_uservar_init: 224, Generating acc routine seq Generating NVIDIA GPU code noprintf: 1552, Generating acc routine seq Generating NVIDIA GPU code str_comp: 1556, Generating acc routine seq Generating NVIDIA GPU code str_len: 1565, Generating acc routine seq Generating NVIDIA GPU code mcget_ncount: 4245, Generating acc routine seq Generating NVIDIA GPU code coords_set: 4679, Generating acc routine seq Generating NVIDIA GPU code coords_get: 4690, Generating acc routine seq Generating NVIDIA GPU code coords_add: 4699, Generating acc routine seq Generating NVIDIA GPU code coords_sub: 4711, Generating acc routine seq Generating NVIDIA GPU code coords_neg: 4723, Generating acc routine seq Generating NVIDIA GPU code coords_scale: 4733, Generating acc routine seq Generating NVIDIA GPU code coords_sp: 4743, Generating acc routine seq Generating NVIDIA GPU code coords_xp: 4751, Generating acc routine seq Generating NVIDIA GPU code coords_len: 4761, Generating acc routine seq Generating NVIDIA GPU code coords_print: 4783, Generating acc routine seq Generating NVIDIA GPU code coords_norm: 4790, Generating acc routine seq Generating NVIDIA GPU code rot_set_rotation: 4836, Generating acc routine seq Generating NVIDIA GPU code rot_test_identity: 4871, Generating acc routine seq Generating NVIDIA GPU code rot_mul: 4882, Generating acc routine seq Generating NVIDIA GPU code rot_copy: 4899, Generating acc routine seq Generating NVIDIA GPU code rot_transpose: 4910, Generating acc routine seq Generating NVIDIA GPU code rot_apply: 4926, Generating acc routine seq Generating NVIDIA GPU code vec_prod_func: 4955, Generating acc routine seq Generating NVIDIA GPU code scalar_prod: 4966, Generating acc routine seq Generating NVIDIA GPU code norm_func: 4970, Generating acc routine seq Generating NVIDIA GPU code sort_absorb_last: 5005, Generating present(particles[:buffer_len],pbuffer[:buffer_len]) Generating implicit firstprivate(tidx) Generating NVIDIA GPU code 5012, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 5021, #pragma acc loop seq 5005, Generating implicit copy(lens[:]) [if not already present] 5012, Generating implicit firstprivate(ll,l) 5023, Accelerator restriction: induction variable live-out from loop: i 5024, Accelerator restriction: induction variable live-out from loop: i 5025, Accelerator restriction: induction variable live-out from loop: i 5026, Accelerator restriction: induction variable live-out from loop: i 5028, Accelerator restriction: induction variable live-out from loop: j 5029, Accelerator restriction: induction variable live-out from loop: j 5030, Accelerator restriction: induction variable live-out from loop: j 5031, Accelerator restriction: induction variable live-out from loop: j 5053, Generating present(pbuffer[:buffer_len]) Generating implicit firstprivate(tidx) Generating NVIDIA GPU code 5057, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 5060, #pragma acc loop seq 5053, Generating implicit copyin(lens[:]) [if not already present] Generating implicit copy(particles[:]) [if not already present] Generating implicit copyin(los[:]) [if not already present] 5060, Generating implicit firstprivate(l) 5077, Generating present(particles[:buffer_len]) Generating implicit firstprivate(accumlen,tidx,mult) Generating NVIDIA GPU code 5081, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 5088, #pragma acc loop seq 5077, Local memory used for targetbuffer,sourcebuffer mccoordschange: 5147, Generating acc routine seq Generating NVIDIA GPU code mccoordschange_polarisation: 5178, Generating acc routine seq Generating NVIDIA GPU code normal_vec: 5195, Generating acc routine seq Generating NVIDIA GPU code solve_2nd_order: 5294, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_circle: 5378, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_angular: 5444, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_real: 5521, Generating acc routine seq Generating NVIDIA GPU code kiss_srandom: 5793, Generating acc routine seq Generating NVIDIA GPU code kiss_random: 5805, Generating acc routine seq Generating NVIDIA GPU code _hash: 5837, Generating acc routine seq Generating NVIDIA GPU code _randnorm2: 5878, Generating acc routine seq Generating NVIDIA GPU code _randtriangle: 5889, Generating acc routine seq Generating NVIDIA GPU code _rand01: 5894, Generating acc routine seq Generating NVIDIA GPU code _randpm1: 5902, Generating acc routine seq Generating NVIDIA GPU code _rand0max: 5910, Generating acc routine seq Generating NVIDIA GPU code _randminmax: 5917, Generating acc routine seq Generating NVIDIA GPU code mcsetstate: 6597, Generating acc routine seq Generating NVIDIA GPU code mcgetstate: 6637, Generating acc routine seq Generating NVIDIA GPU code inside_rectangle: 6697, Generating acc routine seq Generating NVIDIA GPU code box_intersect: 6714, Generating acc routine seq Generating NVIDIA GPU code cylinder_intersect: 6829, Generating acc routine seq Generating NVIDIA GPU code sphere_intersect: 6884, Generating acc routine seq Generating NVIDIA GPU code init: 8046, Generating update device(_monochromator_var,_source_var,_powder_sample_var,_instrument_var,_mono_out_var,_mono_arm_var,_powder_pattern_detc_var,_origin_var) class_Progress_bar_trace: 8089, Generating acc routine seq Generating NVIDIA GPU code class_Source_div_trace: 8179, Generating acc routine seq Generating NVIDIA GPU code class_Cyl_monitor_trace: 8436, Generating acc routine seq Generating NVIDIA GPU code raytrace_all_funnel: 8806, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8810, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8810, Generating implicit firstprivate(mpi_node_rank,_particle,ncount,seed) 8819, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8824, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8819, Local memory used for .inl_.inl_c_1977_9328,.inl_.inl_.inl_b_1951_1983_9333,.inl_.inl_.inl_.X2142_1950_1982_9332,.inl_.inl_b_1973_9327,.inl_.inl_c_1966_9317,.inl_.inl_.inl_b_1951_1972_9322,.inl_.inl_.inl_.X2142_1950_1971_9321,.inl_.inl_b_1962_9316,.inl_.inl_.X2126_1961_9311,.inl_.inl_c_1958_9310,.inl_c_9343,.inl_.inl_b_1957_9308,.inl_.inl_.X2142_1956_9307,.inl_b_9300,.inl_.X2125_9299,.inl_.X2126_9294,.inl_c_9302,.inl_.X2124_9290,.inl_a_9286,_particle_save,.inl_c_9354,.inl_.inl_c_1966_9369,.inl_.inl_.inl_b_1951_1972_9374,.inl_.inl_.inl_.X2142_1950_1971_9373,.inl_.inl_b_1962_9368,.inl_.inl_c_1958_9362,.inl_.inl_.inl_.X2142_1950_1982_9384,.inl_.inl_.X2142_1956_9359,.inl_.inl_b_1957_9360,.inl_.X2126_9346,.inl_.inl_b_1973_9379,.inl_c_9291,.inl_.inl_.inl_b_1951_1983_9385,.inl_.inl_.X2126_1961_9363,.inl_a_9338,.inl_.X2124_9342,.inl_.X2125_9351,.inl_b_9352,.inl_.inl_c_1977_9380 8891, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8894, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8931, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8934, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8931, Local memory used for _particle_save,.inl_c_9504,.inl_.inl_c_1966_9519,.inl_.inl_.inl_b_1951_1972_9524,.inl_.inl_.inl_.X2142_1950_1971_9523,.inl_.inl_b_1962_9518,.inl_.inl_c_1958_9512,.inl_.inl_.inl_.X2142_1950_1982_9534,.inl_.inl_.X2142_1956_9509,.inl_.inl_b_1957_9510,.inl_.X2126_9496,.inl_.inl_b_1973_9529,.inl_c_9493,.inl_.inl_.inl_b_1951_1983_9535,.inl_.inl_.X2126_1961_9513,.inl_a_9488,.inl_.X2124_9492,.inl_.X2125_9501,.inl_b_9502,.inl_.inl_c_1977_9530 finally: 9216, Generating update self(_monochromator_var,_source_var,_powder_sample_var,_instrument_var,_mono_out_var,_mono_arm_var,_powder_pattern_detc_var,_origin_var) mcenabletrace: 6037, Generating update device(mcdotrace) DEBUG: CMD: nvc finished INFO: ===