Aarondonahue/machines/tuo openmp linking fix - #8656
Conversation
Update Flux batch configuration to use correct command-line flags: - Change --time to --time-limit for time specification - Change --queue to -q for queue selection - Change --bank to -B for bank/account specification - Replace hardcoded 60m with $JOB_WALLCLOCK_TIME variable These changes align with Flux batch system syntax and allow proper walltime configuration from case XML variables. Co-Authored-By: Claude <noreply@anthropic.com>
Add missing compiler flags for tuo machine with crayamd-mphipcc compiler: - Add OpenMP threading support via -fopenmp flags for C, C++, Fortran, and linker when compile_threaded is enabled - Add -DFORTRANUNDERSCORE and -DNO_R16 to CPPDEFS for proper Fortran/C interoperability and to match standard Cray compiler configurations These flags resolve linking errors: - Undefined references to OpenMP functions (omp_get_thread_num, etc.) in GPTL library when building threaded executables - Undefined references to shr_reprosumx86_fix_start/end functions due to Fortran/C name mangling mismatch The configuration now aligns with other Cray machine configs like craycray-mphipcc.cmake and frontier_craycray-mphipcc.cmake. Co-Authored-By: Claude <noreply@anthropic.com>
|
@jasonb5 while putting this fix together I noticed that the crayamd compiler option just doesn't work, or has never worked. Should we just remove it altogether? Also, I think we might need to make a similar PR for maint branches too right? |
| <arg flag="--time" name="60m"/> | ||
| <arg flag="--queue" name="$JOB_QUEUE"/> | ||
| <arg flag="--bank" name="$PROJECT"/> | ||
| <arg flag="--time-limit" name="$JOB_WALLCLOCK_TIME"/> | ||
| <arg flag="-q" name="$JOB_QUEUE"/> | ||
| <arg flag="-B" name="$PROJECT"/> |
There was a problem hiding this comment.
Note that CIME will not replace $JOB_WALLCLOCK_TIME correctly, there's a PR open for this in CIME.
You'll need to manually set the value until that PR is merged and we do a CIME update.
There was a problem hiding this comment.
ahhh okay, I was wondering why it was hard-coded. we can revert back to a hard-coded value for now if we want.
There was a problem hiding this comment.
It's fine to leave this, you'll need to set the wallclock anyway, this simplifies it to just ./xmlchange JOB_WALLCLOCK_TIME=<time>.
If you revert anything, i'd move back to the explicit flag, it reads better.
There was a problem hiding this comment.
Also note resubmits don't work, there's a CIME fix coming for this.
Not sure why it's not working, the few cases I had originally tried worked. If it's not useful to run CPU only we can remove it otherwise I can look at it and see what's going on.
|
|
Maybe the crayamd does work, to be honest I didn't try it, I was working from memory but maybe you sorted out whatever that was way back when. It might be easier to bundle this fix into your upcoming maint PR's, but I'm happy either way. |
|
Please edit the title of this PR to follow out convention. |
Fixes an issue with building and submitting jobs on the Livermore Computing system tuolumne.
[BFB]