Closed spanNOAA closed 1 month ago
2304: Abort(805961730) on node 2304 (rank 2304 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack:
2304: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2056576882, MPI_BYTE, new_type_p=0x7ffd536cb594) failed
2304: PMPI_Type_contiguous(238): Negative count, value is -2056576882
MPI_Type_contiguous count number can not be negative. There is no direct call of MPI_Type_contiguous inside model code base. @spanNOAA can you run exactly same canned case on other machine like orion/hercules? so we can see if we can isolate a root cause or mpi package installation issue or not?
2304: Abort(805961730) on node 2304 (rank 2304 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack: 2304: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2056576882, MPI_BYTE, new_type_p=0x7ffd536cb594) failed 2304: PMPI_Type_contiguous(238): Negative count, value is -2056576882
MPI_Type_contiguous count number can not be negative. There is no direct call of MPI_Type_contiguous inside model code base. @spanNOAA can you run exactly same canned case on other machine like orion/hercules? so we can see if we can isolate a root cause or mpi package installation issue or not?
@junwang-noaa @DusanJovic-NOAA @spanNOAA I don't know if compiling with -traceback might be a good option to trace in this case.
Just wanted to post here that I also got this error as did @ChristianBoyer-NOAA from the physics team trying to run a C768 test case from the g-w (develop branch as of today).
Just wanted to post here that I also got this error as did Christian Boyer from the physics team trying to run a C768 test case from the g-w (develop branch as of today).
Do they also see this error on Hera? Could it be related to an update of the OS? Has anyone made a successful C768 run on Hera recently?
2304: Abort(805961730) on node 2304 (rank 2304 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack: 2304: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2056576882, MPI_BYTE, new_type_p=0x7ffd536cb594) failed 2304: PMPI_Type_contiguous(238): Negative count, value is -2056576882
MPI_Type_contiguous count number can not be negative. There is no direct call of MPI_Type_contiguous inside model code base. @spanNOAA can you run exactly same canned case on other machine like orion/hercules? so we can see if we can isolate a root cause or mpi package installation issue or not?
@junwang-noaa @DusanJovic-NOAA @spanNOAA I don't know if compiling with -traceback might be a good option to trace in this case.
We do compile the code with -traceback flag by default.
@DusanJovic-NOAA - @ChristianBoyer-NOAA has not been able to successfully run C768 since the rocky8 transition. I just ran a case and got the same error and then saw this issue that reported the same problem. I have asked a few people and I don't know if anyone has successfully run C768 on hera since the rocky8 transition.
I can run the global static nest configuration with both my modified global-workflow and the HAFS workflow. I haven't tried a globe without a nest.
EDIT: Those are both atmosphere-only forecast-only cases.
Just wanted to post here that I got the same issue when I ran the C768 in Rocky 8 Hera. I git clone the latest version of global work flow for Rocky 8 (April 2 version, commit c54fe98c4fe8d811907366d4ba6ff16347bf174c) and try the C768 run with ATM only, however, it always crash by showing the following information at Hera Rocky 8. While I did not see this issue in C384 and C96. This is the log file /scratch1/BMC/gsd-fv3-dev/NCEPDEV/global/Kate.Zhang/fv3gfs/comrot/TC768/logs/2020070100/gfsfcst.log
This is the job submit directory: /scratch2/BMC/gsd-fv3-dev/NCEPDEV/global/Kate.Zhang/fv3gfs/expdir/TC768
@JessicaMeixner-NOAA @DusanJovic-NOAA @spanNOAA @junwang-noaa
Here are the relevant lines of @zhanglikate's log file.
EDIT: Here is just the error message:
4608: Abort(470417410) on node 4608 (rank 4608 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack:
4608: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2057309534, MPI_BYTE, new_type_p=0x7ffc225e8994) failed
4608: PMPI_Type_contiguous(238): Negative count, value is -2057309534
0: slurmstepd: error: *** STEP 58066771.0 ON h3c39 CANCELLED AT 2024-04-08T06:27:30 ***
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
srun: error: h15c49: tasks 5080-5119: Killed
@XiaqiongZhou-NOAA Please see issue here. My understanding is that you got the same error on wcoss2 and Orion. Would you please try the 3/11 model version (5b62e1aa2e67ea58680d58ab16264d69b4085ea8) on wcoss2 to see if you still got this error? Thanks
From Kate: I got the model crash on both WCOSS2 and Orion with the same error information. The UFS model is the March 22 version. I also got the same error on Hercules with the UFS Feb.21 version.
Abort(1007294466) on node 2304 (rank 2304 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack: 2304: PMPI_Type_contiguous(275): MPI_Type_contiguous(count=-2056678757, MPI_BYTE, new_type_p=0x7ffe7b8d3b54) failed 2304: PMPI_Type_contiguous(243): Negative count, value is -2056678757
The log files are here: /work2/noaa/stmp/xzhou/c768/logs/2020010200 (Hercules) /lfs/h2/emc/ptmp/xiaqiong.zhou/c768_ctl/logs/2020010200 (WCOSS2) /work/noaa/stmp/xzhou/c768/logs/2020010200 (Orion)
My successful runs use an older version of the scripts, but they do use the latest code.
@SamuelTrahanNOAA are you running the C768 global in your global static nest configuration case?
Judy has a GSL version working before, which was based on the EMC Jan2024 version: https://github.com/NOAA-GSL/global-workflow/tree/gsl_ufs_rt . However, it can not run after the OS transition to Rocky 8.
My successful runs use an older version of the scripts, but they do use the latest code.
2304: Abort(805961730) on node 2304 (rank 2304 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack: 2304: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2056576882, MPI_BYTE, new_type_p=0x7ffd536cb594) failed 2304: PMPI_Type_contiguous(238): Negative count, value is -2056576882
MPI_Type_contiguous count number can not be negative. There is no direct call of MPI_Type_contiguous inside model code base. @spanNOAA can you run exactly same canned case on other machine like orion/hercules? so we can see if we can isolate a root cause or mpi package installation issue or not?
I've attempted the canned case on Orion, and unfortunately, the same issue persists. Specifically, it still occurs on processor 2304. However, I have no problem with running C384.
@SamuelTrahanNOAA are you running the C768 global in your global static nest configuration case?
I've run the C96, C192, and C384 with the latest version of my workflow. In an hour or two, I'll test the C768 with the latest version. (I have to copy the new fix files and ICs I generated and regenerate the expdir.)
I have not merged the latest develop scripts. I'm still using older scripts, but I am using newer ufs-weather-model code. My code has two bug fixes, but they are unlikely to be related to this problem (#2201)
Has anyone opened a hera help desk ticket on this issue by any chance?
GSL real time experiments ran the C768 case until 4/3 when the OS completely updated to Rocky8: /scratch1/BMC/gsd-fv3/rtruns/UFS-CAMsuite. Here is the vesion that works for C768 in our realtime:
12Jan24 global-workflow
UFS: 29Jan24, 625ac02
FV3: 29Jan24, bd38c56 (GSL: 28Feb24 , a439cc7)
UPP: 07Nov23, 78f369b
UFS_UTILS: 22Dev23, ce385ce
You can see the gfsfcst log here:
/scratch1/BMC/gsd-fv3/rtruns/UFS-CAMsuite/FV3GFSrun/rt_v17p8_ugwpv1_mynn/logs/2024040200/gfsfcst.log
@kayeekayee Thanks for the information. So model version on Jan 29, 2024 works fine.
I am wondering anyone runs C768 model with a more recent version. Since the same error showed up on wcoss2 and orion, I am thinking if it's the code updates that cause the problem.
I'm able to run with this version of the code:
My test is a C768 resolution globe rotated and stretched, with a nest added inside one global tile. (The script calls it CASE=W768.) It won't run without the fixes in that PR due to some bugs in the nesting framework which break GFS physics.
EDIT: I can give people instructions on how to run the nested global configuration if you want to try my working test case. It uses the global-workflow, but an older version, and forecast-only.
Thanks, @SamuelTrahanNOAA. How many tasks are you using for the C768 global domain?
@spanNOAA @JessicaMeixner-NOAA @zhanglikate @XiaqiongZhou-NOAA Would you like to try Sam's version to build the executable and see if you can run the C768 test case?
I'm using 2 threads. This is the task geometry:
I don't know why the write groups need 27 compute nodes each, but they run out of memory if I give them less, even without the post.
The reason for this vast 210 node task geometry is that it finishes a five day forecast in under eight hours.
@ChristianBoyer-NOAA would you have time to try this? I will not have time to try this until next week, but will try it then.
Sure. I can give a try. Please let me know how to test it in the global workflow environment. Thanks.
Kate
On Mon, Apr 8, 2024 at 6:27 PM Jun Wang @.***> wrote:
Thanks, @SamuelTrahanNOAA https://github.com/SamuelTrahanNOAA. How many tasks are you using for the C768 global domain?
@spanNOAA https://github.com/spanNOAA @JessicaMeixner-NOAA https://github.com/JessicaMeixner-NOAA @zhanglikate https://github.com/zhanglikate @XiaqiongZhou-NOAA https://github.com/XiaqiongZhou-NOAA Would you like to try Sam's version to build the executable and see if you can run the C768 test case?
— Reply to this email directly, view it on GitHub https://github.com/ufs-community/ufs-weather-model/issues/2227#issuecomment-2043929452, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJPDRDSYR22A57RJGTPKTDY4MYWJAVCNFSM6AAAAABFYBVFGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBTHEZDSNBVGI . You are receiving this because you were mentioned.Message ID: @.***>
I doubt my PR will fix the problem, but you can try it if you wish. It should be a drop-in replacement for the sorc/ufs_model.fd directory in the global-workflow.
@SamuelTrahanNOAA Can you send your code path to me? Thanks.
I wonder if it is related to the physics suite? Sam is running the global_nest_v1 suite, I'm not sure which physics suite GSL is running in their experiments referenced above at C768, but it would be interesting to know if it is specifically the GFS physics suite?
I wonder if it is related to the physics suite? Sam is running the global_nest_v1 suite, I'm not sure which physics suite GSL is running in their experiments referenced above at C768, but it would be interesting to know if it is specifically the GFS physics suite?
No.
Also: The crash is coming from the write component, not the compute ranks.
I wonder if it is related to the physics suite? Sam is running the global_nest_v1 suite, I'm not sure which physics suite GSL is running in their experiments referenced above at C768, but it would be interesting to know if it is specifically the GFS physics suite?
No.
- My successful global-workflow runs used the GFS suite.
- My successful HAFS AR workflow runs used the global_nest_v1 suite.
Also: The crash is coming from the write component, not the compute ranks.
Ok, thanks for clarifying!
Can you send your code path to me? Thanks
It is better for you to compile it yourself. This might work:
cd global-workflow/sorc/ufs_model.fd
git stash
git remote add sam https://github.com/SamuelTrahanNOAA/ufs-weather-model
git fetch sam
git checkout -b nesting-fixes sam/nesting-fixes
git submodule sync
git submodule update --init --recursive --force
cd ..
./build_ufs.sh
Sam,
I got it.
commit 811c90d48758984f1510772a12909a3d0aa09c53 (HEAD -> nesting-fixes, origin/nesting-fixes) Merge: 1712e506 87c27b92 Author: samuel.trahan @.***> Date: Mon Apr 1 17:39:50 2024 +0000
merge upstream develop
On Apr 8, 2024, at 9:07 PM, Samuel Trahan (NOAA contractor) @.***> wrote:
Can you send your code path to me? Thanks
It is better for you to compile it yourself. This might work:
cd global-workflow/sorc/ufs_model.fd git stash git remote add sam https://github.com/SamuelTrahanNOAA/ufs-weather-model git fetch sam git checkout -b nesting-fixes sam/nesting-fixes git submodule sync git submodule update --init --recursive --force — Reply to this email directly, view it on GitHub https://github.com/ufs-community/ufs-weather-model/issues/2227#issuecomment-2044073381, or unsubscribe https://github.com/notifications/unsubscribe-auth/APJPDRC7B7TPWORIXMVXTY3Y4NLOLAVCNFSM6AAAAABFYBVFGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANBUGA3TGMZYGE. You are receiving this because you were mentioned.
Ah! Bad news. My run failed when I ran it in the global-workflow, even though it succeeded outside the global-workflow:
6240: Abort(805961730) on node 6240 (rank 6240 in comm 0): Fatal error in PMPI_Type_contiguous: Invalid count, error stack:
6240: PMPI_Type_contiguous(271): MPI_Type_contiguous(count=-2057274945, MPI_BYTE, new_type_p=0x7ffcb2273514) failed
6240: PMPI_Type_contiguous(238): Negative count, value is -2057274945
0: slurmstepd: error: *** STEP 58100582.0 ON h1c26 CANCELLED AT 2024-04-08T23:47:11 ***
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.
EDIT: It takes 7.8 hours for that job to finish, so I didn't know for quite a long time.
Actually, that's mixed news. It means I might be able to narrow down what the global-workflow is doing differently to break things.
EDIT: I see three obvious differences between my successful runs in HAFS-AR and staged test cases vs this latest failed run in global-workflow:
I've submitted a test job to test item 1 and 2 together. My hunch is that item 3 is causing the problem.
@JessicaMeixner-NOAA I'll be able to try it today.
@ChristianBoyer-NOAA - Please try with and without ESMF threading, if you can. The global-workflow can only use ESMF threading; they dropped support for straight openmp threading a while ago.
@SamuelTrahanNOAA - Sounds good. I will give it a try with and without ESMF threading.
@SamuelTrahanNOAA Thanks for doing the testing. I think @aerorahul has the code changes in G-W to use both ESMF managed threading and traditional threading.
@SamuelTrahanNOAA Thanks for doing the testing. I think @aerorahul has the code changes in G-W to use both ESMF managed threading and traditional threading.
G-W conventional and esmf threading: https://github.com/ufs-community/ufs-weather-model/pull/2179
I ran the control_c768 test from rt_weekly.conf with the current develop branch (45c8b2a) and it finished successfully on Hera. Although it only runs for 3 hours. I'll resubmit the job with nhours_fcst 24.
A difference between control_c768 and some of the runs in the workflow is size. A 210 node job on Hera is very big and will detect problems a few dozen nodes wouldn't. GNU OpenMP can't even function at that size; it fails with 100% reliability. The regular global-workflow runs may be in the 80-140 node range, but that's still a huge job.
I ran my test case without ESMF threading and with the ufs-weather-model modulefiles. It still failed. I'm going to investigate further what the differences are between this test case and my past C768s that have succeeded.
This probably rules out ESMF threading as the cause.
I took this run directory /scratch1/NCEPDEV/stmp2/Kate.Zhang/RUNDIRS/TC768/fcst.424943/ which is a directory used for run that failed on Hera (See this comment: https://github.com/ufs-community/ufs-weather-model/issues/2227#issuecomment-2042958929). I ran the executable compiled from the current develop and it failed with the same or very similar error.
However when I turn off compression (set both ideflate: and zstandard_level: to 0 in model_configure) model runs for 24h without failing.
However when I turn off compression (set both ideflate: and zstandard_level: to 0 in model_configure) model runs for 24h without failing.
My test case with the global-nest-v1 physics uses zstandard_level=4 and still runs to completion. There are other differences too. I'll try to narrow them down and find a commonality.
@junwang-noaa @SamuelTrahanNOAA @DusanJovic-NOAA
I am using Sam's version and modify the ideflate: 0 as Dusan's testing, the run did not crash.
I am now testing the original UFS version in the April 2 global workflow. Will keep you updating. Thanks.
@junwang-noaa @SamuelTrahanNOAA @DusanJovic-NOAA I am using Sam's version and modify the ideflate: 0 as Dusan's testing, the run did not crash. I am now testing the original UFS version in the April 2 global workflow. Will keep you updating. Thanks.
The local ZSTANDARD_LEVEL=0 by default in the global workflow.
@DusanJovic-NOAA @SamuelTrahanNOAA @junwang-noaa @lisa-bengtsson @ChristianBoyer-NOAA @spanNOAA @jkbk2004 @kayeekayee @JessicaMeixner-NOAA After modifying "local IDEFLATE=1" to "local IDEFLATE=0" in the ush/parsing_model_configure_FV3.sh of global workflow, the C768 run worked well in Rocky 8 Hera (April 2 version, commit c54fe98c4fe8d811907366d4ba6ff16347bf174c).
@DusanJovic-NOAA can you set ideflate to 1 and set zstanard_level to 0 (lossless compression only) to see if that works?
I took this run directory /scratch1/NCEPDEV/stmp2/Kate.Zhang/RUNDIRS/TC768/fcst.424943/ which is a directory used for run that failed on Hera (See this comment: #2227 (comment)). I ran the executable compiled from the current develop and it failed with the same or very similar error.
However when I turn off compression (set both ideflate: and zstandard_level: to 0 in model_configure) model runs for 24h without failing.
@DusanJovic-NOAA can you set ideflate to 1 and set zstanard_level to 0 (lossless compression only) to see if that works?
I took this run directory /scratch1/NCEPDEV/stmp2/Kate.Zhang/RUNDIRS/TC768/fcst.424943/ which is a directory used for run that failed on Hera (See this comment: #2227 (comment)). I ran the executable compiled from the current develop and it failed with the same or very similar error. However when I turn off compression (set both ideflate: and zstandard_level: to 0 in model_configure) model runs for 24h without failing.
ideflate was initially set to 1 and it didn't work.
Changing ideflate to 0 didn't fix my case. The model segfaulted. I also had to change these lines:
ichunk2d: 3072
jchunk2d: 1536
ichunk3d: 3072
jchunk3d: 1536
kchunk3d: 1
To this:
ichunk2d: 0
jchunk2d: 0
ichunk3d: 0
jchunk3d: 0
kchunk3d: 0
The forecast has gotten past the previous failure point. How far it will go, I do not know.
In my succeeding HAFS-AR nested C768 run, I have these settings:
ichunk2d: -1
jchunk2d: -1
ichunk3d: -1
jchunk3d: -1
kchunk3d: -1
ideflate: 0
zstandard_level: 4
nbits: 0
@junwang-noaa @SamuelTrahanNOAA My testing run is more than 48 hours (~54 hours). Thanks.
Description
An MPI-related fatal error occurred during the execution of the code, leading to job cancellation.
To Reproduce:
Compilers: intel/2022.1.2, impi/2022.1.2, stack-intel/2021.5.0, stack-intel-oneapi-mpi/2021.5.1 Platform: Hera (Rocky 8)
Additional context
The problem specifically arises on the 2304th core.
Output
ufs_model_crash.log