comp-physics / RBC3D

3D Spectral boundary integral solver for cell-scale blood flow
MIT License
7 stars 3 forks source link

MKL/Lapack Update #31

Closed suzanmanasreh closed 1 month ago

suzanmanasreh commented 1 month ago

Additions

Problems:

sbryngelson commented 1 month ago

So we still need a very old PETSc or no?

sbryngelson commented 1 month ago

Can you verify this works on other clusters, like Rogues Gallery / ICE / Phoenix.

sbryngelson commented 1 month ago

Is the user out of luck if they don't have access to the correct version of MKL, or MKL is not available as a module? Many clusters don't have an MKL module.

suzanmanasreh commented 1 month ago

Yes, we're still using the old petsc here, so the second task on the ticket is still open. I just thought it would be too many changes for 1 PR.

This works on Phoenix and ICE because they both have mkl modules, but the rogues gallery is still impossible because the old petsc depends on python2. I think a user should be able to download any new version of mkl and use it with the Makefile, but I can include instructions on how to get one online?

sbryngelson commented 1 month ago

Agreed. And I think it would be useful to do that (include instructions on how to deal with MKL if it's unavailable on the user's system).

suzanmanasreh commented 1 month ago

I included links to instructions that would allow someone to download the same intel oneapi library that's available on the cluster, but let me know if it needs more detail.

A better solution would probably be to get rid of mkl entirely by linking lapack to blas instead, but I wanted to keep mkl because it's easy to pull the lapack and blas libraries from it for the new petsc configuration. I'm not sure if it's better to go for cluster modules or manually installed libraries.