Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

PET test with modified thread count

Shruti

Shruti Joshi
Member
Hello,

I was trying to run a PET test as follows:
./create_test PET.f19_g16.X

- This is generating a timing status report as attached.
Here we can observe that the number of threads per components is 2.
Is it possible to change the number of threads while executing this test?
 

Attachments

  • cesm_timing.PET.f19_g16.X.amd_gnu.testgcc-1.469.200522-104425.txt
    9 KB · Views: 1

jedwards

CSEG and Liaisons
Staff member
You can change the PE layout in any test by modifying the name. So if you want 16 tasks with 4 threads per task you could do
PET_P16x4.f19_g16.X
 

Shruti

Shruti Joshi
Member
Hello,

I did as suggested above and got the following in TestStatus file:

PASS PET_P8x4.f19_g16.X.amd_gnu CREATE_NEWCASE
PASS PET_P8x4.f19_g16.X.amd_gnu XML
PASS PET_P8x4.f19_g16.X.amd_gnu SETUP
PASS PET_P8x4.f19_g16.X.amd_gnu SHAREDLIB_BUILD time=37
PASS PET_P8x4.f19_g16.X.amd_gnu MODEL_BUILD time=7
PASS PET_P8x4.f19_g16.X.amd_gnu SUBMIT
PASS PET_P8x4.f19_g16.X.amd_gnu RUN time=89
FAIL PET_P8x4.f19_g16.X.amd_gnu COMPARE_base_single_thread
PASS PET_P8x4.f19_g16.X.amd_gnu MEMLEAK insuffiencient data for memleak test
PASS PET_P8x4.f19_g16.X.amd_gnu SHORT_TERM_ARCHIVER

- The timing files etc are being generated. The output at the end of execution also reads as :
"Test 'PET_P8x4.f19_g16.X.amd_gnu' finished with status 'PASS' "

But one of the tests FAILS : COMPARE_base_single_thread.
How do i go about to resolve this?
Should i generate baselines? If so how exactly should i do it?
 

jedwards

CSEG and Liaisons
Staff member
This failed test indicates that the multi thread run does not compare bit for bit with the single thread run.
Look in TestStatus.log and $RUNDIR/*cprnc.out for details of the differences. Did the original 2 thread test pass or did it also fail?
 

Shruti

Shruti Joshi
Member
Hello,

I rechecked with the original 2 thread test and yes it had failed.
So i checked the error and realized that the cprnc executable wasn't present.

So followed the steps present in README in cime/tools/cprnc, generated the cprnc executable and placed it in <CCSM_CPRNC> section in config_machines.xml.

Ran the test : ./create_test PET_P8x8.f19_g16.X

TestStatus file contents are as follows:

PASS PET_P8x8.f19_g16.X.amd_gnu CREATE_NEWCASE
PASS PET_P8x8.f19_g16.X.amd_gnu XML
PASS PET_P8x8.f19_g16.X.amd_gnu SETUP
PASS PET_P8x8.f19_g16.X.amd_gnu SHAREDLIB_BUILD time=37
PASS PET_P8x8.f19_g16.X.amd_gnu MODEL_BUILD time=7
PASS PET_P8x8.f19_g16.X.amd_gnu SUBMIT
PASS PET_P8x8.f19_g16.X.amd_gnu RUN time=92
PASS PET_P8x8.f19_g16.X.amd_gnu COMPARE_base_single_thread
PASS PET_P8x8.f19_g16.X.amd_gnu MEMLEAK insuffiencient data for memleak test
PASS PET_P8x8.f19_g16.X.amd_gnu SHORT_TERM_ARCHIVER

My follow up question is, this cprnc executable doesn't it get built automatically?
Or which options should i give for this to work?
Or is it to be done separately as i mentioned above?
 
Top