-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds Continuous Integration on ScaLAPACK #56
Conversation
547d5a2
to
a25740d
Compare
I tried to add a workflow for CMake. I still couldn't compile ScaLAPACK using CMake in my personal computer. The reason:
Does anyone know how to compile ScaLAPACK using CMake on a Linux machine? Thanks! |
On macOS I am using |
7fa4564
to
93dd51c
Compare
The current CI has:
|
Looks great, do you think that a Windows build could be added using Mingw? |
That is the idea. As soon as the CI is working for Linux, it would be great to have it working for Windows and MacOS. Currently, I am facing the following problem: The GitHub-hosted runners only have 2 cores (https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners), and some of the tests in ScaLAPACK need at least 4 MPI processes. Those tests, therefore, take too long to complete. Does anyone have an idea to improve this workflow? Thanks! |
One example of how using 2 MPI processes instead of 4 changed the times on the Github workflow: Using 4 MPI processes for every test: (https://github.com/weslleyspereira/scalapack/runs/5471640656) (still running)
Using 2 MPI processes whenever possible: (https://github.com/weslleyspereira/scalapack/runs/5472056161)
The only difference between 2baaae6 and 28ff3c8 is the number of MPI processes I am using. This a recent workflow using 4 MPI processes per test: https://github.com/weslleyspereira/scalapack/runs/5472056161. Total time 3h30min. The workflow https://github.com/weslleyspereira/scalapack/runs/5472056161 finished with 1h10min. Amongst the tests using 4 MPI processes, the following take more than 10min to complete:
|
A workaround would be to use a self-hosted runner. Or change the tests (if possible) so that they use 2 processes at most. |
Thanks! Yes, I found those two approaches. I was hoping there was some other configuration on the GIthub side that could help us. So far, I reduced the number of MPI processes for all the tests that allowed me to do so. |
6d2ff94
to
1d4a278
Compare
- The first one builds with GNU Make and tests the examples. - Second one builds with CMake and runs all tests. - Fix bugs on the CMake build system (same fix from Reference-ScaLAPACK#57). - ${MPIEXEC_PREFLAGS} was added to the test executables and allow for passing flags to mpiexec.
…ion time of the tests
Hi. I think I got everything working good. See: To summarize: This PR adds 2 Github Workflows to ScaLAPACK.
I rebased all commits to simplify the log. I think this PR is ready to go. Again: It would be great to have recipes working for Windows and MacOS. But I think we should merge the current modifications just to have some tests in place. |
Hi! I started a discussion on #60. Maybe you want to comment on that. |
Adds simple example that builds ScaLAPACK using GNU make.
Note that:
-Werror=implicit-function-declaration
is active by default on MacOS based on Implicit declaration of function is invalid in C99 RTimothyEdwards/magic#69 (comment))cgsum2d_.c:230:10: error: implicit declaration of function 'BI_svmcopy' is invalid in C99 [-Werror,-Wimplicit-function-declaration] BI_cvmcopy(Mpval(m), Mpval(n), A, tlda, bp->Buff);