While building OpenBLAS-0.3.24-GCC-13.2.0.eb on an AMD 7742 (with hyperthreading enabled so 256 logical cores), I noticed that the lapack tests were taking a very long time to run (more than a day) because the tests were starting a thread per logical core. For example, with the xeigtsts test I was observing:
I'm aware of the changes to the framework to set a default for maxparallel (in https://github.com/easybuilders/easybuild-framework/pull/4606) but setting this manually in the easyconfig file did not control the number of threads used for the test. In the end, adding the following to the easyconfig worked:
pretestopts = 'export OMP_NUM_THREADS=16 &&'
After running the build again, this took about 5 minutes to complete the tests instead of many hours.
Hi,
While building OpenBLAS-0.3.24-GCC-13.2.0.eb on an AMD 7742 (with hyperthreading enabled so 256 logical cores), I noticed that the lapack tests were taking a very long time to run (more than a day) because the tests were starting a thread per logical core. For example, with the xeigtsts test I was observing:
I'm aware of the changes to the framework to set a default for maxparallel (in https://github.com/easybuilders/easybuild-framework/pull/4606) but setting this manually in the easyconfig file did not control the number of threads used for the test. In the end, adding the following to the easyconfig worked:
pretestopts = 'export OMP_NUM_THREADS=16 &&'
After running the build again, this took about 5 minutes to complete the tests instead of many hours.
Rather than adding this to all of the easyconfig files, I/we were wondering if there is a way of adding this to the easyblock so there's a default and/or controlled by maxparallel by editing the line https://github.com/easybuilders/easybuild-easyblocks/blob/485a195d324e51a213762ab3fd0bc492ad70cfcf/easybuild/easyblocks/o/openblas.py#L141 somehow (see the conversation on slack)?
Thanks