ccx performance increase windows walkthrough?

Hi,

I download the file from https://www.dhondt.de/calculix_2.21_4win.zip, extracted it the ccx_static.exe and set it as the solver in Mecway.

This is following number 5 from https://www.mecway.com/forum/discussion/1012/improving-performance-of-ccx-solver/p1

"""
5) Download CCX 2.21 compiled with PastiX from http://www.dhondt.de/calculix_2.21_4win.zip. Extract ccx_static.exe then set it in Mecway through Tools -> Options -> CalculiX -> Solver. For better correctness, set the environment variable PASTIX_MIXED_PRECISION=0.
Speed: Fast
Node limit*: over 700 000
Difficulty: Easy
"""

But I have found that Mecway actually runs slower.

Is there a walkthrough on setting up ccx to run faster on windows?

Thanks,
Frank

Comments

  • It's possible that turning off mixed precision (PASTIX_MIXED_PRECISION=0) takes away all the speed benefits of PastiX. I hadn't checked that. If you don't set it, it'll probably be faster but there's a risk of wrong results in some cases.

    A lot of people like Pastix but my preferred way is #4 - compile using the source code and instructions distributed with Mecway. It's much faster than Spooles, more correct than Pastrix with mixed precision turned on, and has out-of-core mode which makes it faster for models that are too big for RAM.
  • Hello Victor
    In your last post you said you prefere #4 out of this is following 5 options from https://www.mecway.com/forum/discussion/1012/improving-performance-of-ccx-solver/p1
    But In Version 24 the ccx_win64_mkl_pardiso_source_2.xx.zip wasn't included.
    So my question is which compiled CCX.EXE is delivered with Mecway Ver. 24 and above?

    Thank you in advance
  • Versions 24 and 25 install ccx/ccx_win64_mkl_pardiso_source_2.21.zip (numbers instead of xx) in the application's installation location. Compiling that produces both the ccx.exe distributed with that version of Mecway, and ccx_mkl.exe which is the same but with MKL Pardiso.
  • Thanks for the clarification.
    Indeed, it seems I accidentally deleted the zip file in ver. 24
    After reinstallation it is there, thank you
  • Is there any easy to follow instructions to run Mecway with CCX PARDISO?
  • My favorite way is compiling it with Mecway/ccx/ccx_win64_mkl_pardiso_source_2.21.zip which has a 5 step instruction procedure in it.

    Or you can:
    1) download version 2.22 from dhondt.de
    2) Install Intel OneAPI MKL
    3) Copy everything from [...]/Intel/oneAPI/2024.2/bin to where ccx is
    4) Use ccx_dynamic.exe

    I just tried that with oneAPI version 2024.2 and it works but you never know if the latest version still will or not.
  • edited August 22
    OneAPI MKL from https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html?

    or
    https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html

    With the instructions in Mecway/ccx/ccx_win64_mkl_pardiso_source_2.21.zip
    there is no need of installing OneAPI MKL?
  • I followe Build dinstructions in Mecway/ccx/ccx_win64_mkl_pardiso_source_2.21.zip
    and I found dlls in msys64/home//ccx/x64/install, but I didn't found ccx.exe, ccx_MKL.exe
    Where are they supposed to be?


  • Oh sorry. That means the build failed and you need to look in [...]/x64/buildlog.txt which should have the relevant error messages near the bottom.
  • It seems that there are thousands of error message in that log, but for me it is like technical chinese.
  • I'm getting the same problem. Still got to work it out but I suspect an update to gcc might have broken compatibility and needs some option to revert to the old behavior. This has happened before with gfortran and suddenly people everywhere couldn't compile CCX.
  • It looks like gcc 14.1 (released this year) breaks it by turning two warnings into errors: (-Werror=implicit-function-declaration and -Werror=implicit-int). I'm trying to find out how to force it to use gcc 13.3 or I might need to patch the code :(
  • Here's a fixed one. The change is an added parameter for the C compiler to ignore errors. Thanks for discovering this problem.

    https://mecway.com/download/ccx_win64_mkl_pardiso_source_2.21_2.zip
  • When I find the compiled ccx.exe, ccx_MKL.exe, and their dlls, should I copy them to
    C:\Program Files\Mecway\ccx ?
    and change ccx location here?

  • You can do but I'd put them somewhere else then set their location as in your picture. If you change anything in the installation folder, it can get messy if you uninstall or update.
  • Thanks.
    Should I set any environment variable also?
  • Oh yes, OMP_NUM_THREADS for multithreading.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!