INFO: No output directory specified (--dir) INFO: Using directory: "NCrystal_example_20250514_020819" 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 -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 296: 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 298: 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 648: 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 869: 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 886: 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 888: 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 896: 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 898: 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 900: 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 902: 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 904: 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 1000: 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 1002: 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 1004: 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 1006: 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 1008: 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 1010: 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 1012: 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 1014: 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 1016: 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 4571: warning: variable "num" was declared but never referenced [declared_but_not_referenced] int num = 3; ^ "./NCrystal_example.c", line 5026: warning: variable "randstate" was declared but never referenced [declared_but_not_referenced] randstate_t randstate[7]; ^ "./NCrystal_example.c", line 4945: warning: variable "newlen" was declared but never referenced [declared_but_not_referenced] long newlen = 0; ^ "./NCrystal_example.c", line 6272: warning: variable "status" was set but never used [set_but_not_used] int status; ^ "./NCrystal_example.c", line 7010: warning: missing return statement at end of non-void function "ncrystalsample_surfintersect" [implicit_return_from_non_void_function] } ^ "./NCrystal_example.c", line 7263: warning: variable "tc2" was set but never used [set_but_not_used] Coords tc1, tc2; ^ "./NCrystal_example.c", line 7251: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 1; ^ "./NCrystal_example.c", line 7308: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 2; ^ "./NCrystal_example.c", line 7379: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 3; ^ "./NCrystal_example.c", line 7428: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 4; ^ "./NCrystal_example.c", line 7496: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 5; ^ "./NCrystal_example.c", line 7545: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 6; ^ "./NCrystal_example.c", line 7613: warning: variable "current_setpos_index" was declared but never referenced [declared_but_not_referenced] int current_setpos_index = 7; ^ "./NCrystal_example.c", line 8025: 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 8115: 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 8372: 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 8388: warning: variable "j" was declared but never referenced [declared_but_not_referenced] int i, j; ^ "./NCrystal_example.c", line 8835: warning: variable "_particle_save" was declared but never referenced [declared_but_not_referenced] _class_particle _particle_save; ^ "./NCrystal_example.c", line 9617: warning: variable "t" was declared but never referenced [declared_but_not_referenced] time_t t; ^ "./NCrystal_example.c", line 9618: warning: variable "ct" was set but never used [set_but_not_used] clock_t ct; ^ "./NCrystal_example.c", line 1508: warning: variable "mcstartdate" was set but never used [set_but_not_used] static long mcstartdate = 0; /* start simulation time */ ^ "./NCrystal_example.c", line 2928: 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: 1556, Generating acc routine seq Generating NVIDIA GPU code str_comp: 1560, Generating acc routine seq Generating NVIDIA GPU code str_len: 1569, Generating acc routine seq Generating NVIDIA GPU code mcget_ncount: 4192, Generating acc routine seq Generating NVIDIA GPU code coords_set: 4623, Generating acc routine seq Generating NVIDIA GPU code coords_get: 4634, Generating acc routine seq Generating NVIDIA GPU code coords_add: 4643, Generating acc routine seq Generating NVIDIA GPU code coords_sub: 4655, Generating acc routine seq Generating NVIDIA GPU code coords_neg: 4667, Generating acc routine seq Generating NVIDIA GPU code coords_scale: 4677, Generating acc routine seq Generating NVIDIA GPU code coords_sp: 4687, Generating acc routine seq Generating NVIDIA GPU code coords_xp: 4695, Generating acc routine seq Generating NVIDIA GPU code coords_len: 4705, Generating acc routine seq Generating NVIDIA GPU code coords_print: 4727, Generating acc routine seq Generating NVIDIA GPU code coords_norm: 4734, Generating acc routine seq Generating NVIDIA GPU code rot_set_rotation: 4780, Generating acc routine seq Generating NVIDIA GPU code rot_test_identity: 4815, Generating acc routine seq Generating NVIDIA GPU code rot_mul: 4826, Generating acc routine seq Generating NVIDIA GPU code rot_copy: 4843, Generating acc routine seq Generating NVIDIA GPU code rot_transpose: 4854, Generating acc routine seq Generating NVIDIA GPU code rot_apply: 4870, Generating acc routine seq Generating NVIDIA GPU code vec_prod_func: 4899, Generating acc routine seq Generating NVIDIA GPU code scalar_prod: 4910, Generating acc routine seq Generating NVIDIA GPU code norm_func: 4914, Generating acc routine seq Generating NVIDIA GPU code sort_absorb_last: 4949, Generating present(particles[:buffer_len],pbuffer[:buffer_len]) Generating implicit firstprivate(tidx) Generating NVIDIA GPU code 4956, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 4965, #pragma acc loop seq 4949, Generating implicit copy(lens[:]) [if not already present] 4956, Generating implicit firstprivate(ll,l) 4967, Accelerator restriction: induction variable live-out from loop: i 4968, Accelerator restriction: induction variable live-out from loop: i 4969, Accelerator restriction: induction variable live-out from loop: i 4970, Accelerator restriction: induction variable live-out from loop: i 4972, Accelerator restriction: induction variable live-out from loop: j 4973, Accelerator restriction: induction variable live-out from loop: j 4974, Accelerator restriction: induction variable live-out from loop: j 4975, Accelerator restriction: induction variable live-out from loop: j 4997, Generating present(pbuffer[:buffer_len]) Generating implicit firstprivate(tidx) Generating NVIDIA GPU code 5001, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 5004, #pragma acc loop seq 4997, Generating implicit copyin(lens[:]) [if not already present] Generating implicit copy(particles[:]) [if not already present] Generating implicit copyin(los[:]) [if not already present] 5004, Generating implicit firstprivate(l) 5021, Generating present(particles[:buffer_len]) Generating implicit firstprivate(accumlen,tidx,mult) Generating NVIDIA GPU code 5025, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 5032, #pragma acc loop seq 5021, Local memory used for targetbuffer,sourcebuffer mccoordschange: 5091, Generating acc routine seq Generating NVIDIA GPU code mccoordschange_polarisation: 5122, Generating acc routine seq Generating NVIDIA GPU code normal_vec: 5139, Generating acc routine seq Generating NVIDIA GPU code solve_2nd_order: 5238, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_circle: 5322, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_angular: 5388, Generating acc routine seq Generating NVIDIA GPU code _randvec_target_rect_real: 5465, Generating acc routine seq Generating NVIDIA GPU code kiss_srandom: 5737, Generating acc routine seq Generating NVIDIA GPU code kiss_random: 5749, Generating acc routine seq Generating NVIDIA GPU code _hash: 5781, Generating acc routine seq Generating NVIDIA GPU code _randnorm2: 5822, Generating acc routine seq Generating NVIDIA GPU code _randtriangle: 5833, Generating acc routine seq Generating NVIDIA GPU code _rand01: 5838, Generating acc routine seq Generating NVIDIA GPU code _randpm1: 5846, Generating acc routine seq Generating NVIDIA GPU code _rand0max: 5854, Generating acc routine seq Generating NVIDIA GPU code _randminmax: 5861, Generating acc routine seq Generating NVIDIA GPU code mcsetstate: 6541, Generating acc routine seq Generating NVIDIA GPU code mcgetstate: 6578, Generating acc routine seq Generating NVIDIA GPU code inside_rectangle: 6638, Generating acc routine seq Generating NVIDIA GPU code box_intersect: 6655, Generating acc routine seq Generating NVIDIA GPU code cylinder_intersect: 6770, Generating acc routine seq Generating NVIDIA GPU code sphere_intersect: 6825, Generating acc routine seq Generating NVIDIA GPU code init: 7983, 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: 8026, Generating acc routine seq Generating NVIDIA GPU code class_Source_div_trace: 8116, Generating acc routine seq Generating NVIDIA GPU code class_Cyl_monitor_trace: 8373, Generating acc routine seq Generating NVIDIA GPU code raytrace_all_funnel: 8744, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8748, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8744, Local memory used for .inl_.inl_mcneutron_0_9186,.inl_particle_9171,.inl_.X1837_9188,.inl_.inl_.X2030_15_9187 8748, Generating implicit private(_particle,seed) 8758, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8763, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8758, Local memory used for .inl_.inl_c_1921_9235,.inl_.inl_.inl_b_1895_1927_9240,.inl_.inl_.inl_.X1995_1894_1926_9239,.inl_.inl_b_1917_9234,.inl_.inl_c_1910_9224,.inl_.inl_.inl_b_1895_1916_9229,.inl_.inl_.inl_.X1995_1894_1915_9228,.inl_.inl_b_1906_9223,.inl_.inl_.X1979_1905_9218,.inl_.inl_c_1902_9217,.inl_c_9250,.inl_.inl_b_1901_9215,.inl_.inl_.X1995_1900_9214,.inl_b_9207,.inl_.X1978_9206,.inl_.X1979_9201,.inl_c_9209,.inl_.X1977_9197,.inl_a_9193,_particle_save,.inl_c_9261,.inl_.inl_c_1910_9276,.inl_.inl_.inl_b_1895_1916_9281,.inl_.inl_.inl_.X1995_1894_1915_9280,.inl_.inl_b_1906_9275,.inl_.inl_c_1902_9269,.inl_.inl_.inl_.X1995_1894_1926_9291,.inl_.inl_.X1995_1900_9266,.inl_.inl_b_1901_9267,.inl_.X1979_9253,.inl_.inl_b_1917_9286,.inl_c_9198,.inl_.inl_.inl_b_1895_1927_9292,.inl_.inl_.X1979_1905_9270,.inl_a_9245,.inl_.X1977_9249,.inl_.X1978_9258,.inl_b_9259,.inl_.inl_c_1921_9287 8830, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8833, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8870, Generating present(particles[:livebatchsize]) Generating implicit firstprivate(livebatchsize) Generating NVIDIA GPU code 8873, #pragma acc loop gang, vector(128) /* blockIdx.x threadIdx.x */ 8870, Local memory used for _particle_save,.inl_c_9411,.inl_.inl_c_1910_9426,.inl_.inl_.inl_b_1895_1916_9431,.inl_.inl_.inl_.X1995_1894_1915_9430,.inl_.inl_b_1906_9425,.inl_.inl_c_1902_9419,.inl_.inl_.inl_.X1995_1894_1926_9441,.inl_.inl_.X1995_1900_9416,.inl_.inl_b_1901_9417,.inl_.X1979_9403,.inl_.inl_b_1917_9436,.inl_c_9400,.inl_.inl_.inl_b_1895_1927_9442,.inl_.inl_.X1979_1905_9420,.inl_a_9395,.inl_.X1977_9399,.inl_.X1978_9408,.inl_b_9409,.inl_.inl_c_1921_9437 finally: 9155, 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: 5981, Generating update device(mcdotrace) DEBUG: CMD: nvc finished INFO: ===