Hi, does anyone know if there is a i8 executable for Linux available to download anywhere? I’m trying to compile it myself, but it’s my first time compiling anything and I’m not getting that far…
Victor might be able to tell you, the Version he provides with MecWay (2.19) is i8. I had issues with the i4 compile of Pastix a few years back causing an a hang with large problems (over 5000,000 nodes) in Calculix using the Pastix Solver. I compiled from a make file provided by another user to get an i8 version, which is slightly slower than the i4 version and requires a bit more memory. For larger yet problems (over about 1.1 million nodes for me) it starts becoming gradually slower than Pardiso. My biggest problem is that Intel no longer wants to provide the HPC dll’s for AMD users, and that slows or causes issues for Pardiso. I will check later today if Victors version provided with MecWay works well with large problems for all the solvers.
Yeah my problem right now is that I have a problem with > 1 million nodes and Calculix gives a memory alloc error when determining the structure of the matrix. I was able to do half the model with ~64gb of memory, so the full model should require ~128gb of memory. I’m running on a linux machine which has 460 gb of memory, so the memory really shouldn’t be the issue… So I was hoping the i8 version would solve the problem.
You could be running in to user limits. You can use ulimit -a
to check which limits apply to you. This is a standard UNIX mechanism to prevent individual users from hogging too many system resources.
If you want to permanently change them, the standard way used to be to edit /etc/security/limits.conf
. But I’ve read that this file is ignored when you’re running systemd. In which case you’ll have to RTFM, since I’ve never used systemd.
I have only a 64 GB AMD Ryzen system running Windows, and I just tried running CCX 2.19i with the pastix solver. Ran a non-linear problem with 755893 nodes in 14:40. Did not complete in an acceptable time (thrashing but makiing very slow progress) with 1248281 nodes . 2.19 without the i8 but running Pardiso ran in 39:40. Speeds will be faster with intel processors with AVX512. Note memory used goes up at least as the square of the number of degrees of freedom, and time worse yet and Pastix uses significantly more memory than Pardiso, but speeds up mostly by doing the floating calcs in single precision till the last one is done in double precision reduceing the number of double precision calculations. Note the i8 refers to the compiler setting for the Pastix solver portion of CCX which is usually set at i4, but runs into issues with more than 500,000 nodes. (with array index overflows, I think). The i8 makes the memory needed larger, but does not crash, and probably slows things down with more memory reads and writes eventually as problems grow.