-
Notifications
You must be signed in to change notification settings - Fork 57
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
Test Colvars on Linux aarch64 #760
Comments
Running the tests manually on Vista shows:
|
Currently, GitHub only offers ARM runners for macOS. Unfortunately, I do not have local Linux systems with ARM64 that I can access to run the tests manually. If someone has them, I am happy to provide some assistance with porting or adapting the container recipes and images. Apptainer should work there, and I can confirm that running self-hosted runners with GitHub Actions is relatively easy. |
Thanks for testing locally. What is the compiler there? Is this possibly related to this other Intel compiler bug? |
No. I guess David used g++. Intel compiler does not work on ARM. |
Ok thanks. I guess a solution could be using the Jacobi solver by @jewettaij or something similar: |
@giacomofiorin I see there are "partner runners" in https://github.com/actions/partner-runner-images. Are they available for free? |
I don't know, the page says that they are in public beta, but "public" doesn't necessarily mean "documented". Nor does it say anything about their later availability after beta. To be honest, I think a self-hosted runner (launched from a private fork of this repo) would be the best approach here. I was already planning to use those to test GPU versions of the backends, but I have no idea about setting up a Linux ARM box that would comply with the security criteria of my workplace. If you have such a box working at UIUC, I am happy to help customize the Actions workflows so that you can trigger the tests just by pushing into a copy of the Colvars repo on that box. |
Thanks! I will ask if there are ARM boxes in our lab. |
Most of the fail tests here are due to the implementation of // return a vector of gaussian random numbers
Vector gaussian_vector(void) {
return Vector( gaussian(), gaussian(), gaussian() );
} The order of the three callings of // return a vector of gaussian random numbers
Vector gaussian_vector(void) {
Vector v;
v.z = gaussian();
v.y = gaussian();
v.x = gaussian();
return v;
} |
After forcing the initialization order of Gaussian vector, I get:
The remaining test failures are caused by the deviation between 0 and tiny values like 1e-16. |
I have received reports of "too many iterations in jacobi diagonalization" twice. Although the users ran NAMD with two different systems on two different servers (DeltaAI and Vista), the common point of the two servers is that both of them use ARM CPUs.
@giacomofiorin It looks like ARM CPUs are becoming popular on supercomputers. Is it possible to add Linux aarch64 tests (with backends like NAMD) for Colvars?
The text was updated successfully, but these errors were encountered: