Calculix ccx2.9 built with msys2/mingw64 vs. bConverged ccx2.8p2

Hello guys,

though not new to ccx nor FEM, I'm new to mecway. In general I work with a linux binary. As I could not find a working ccx2.9 binary for windows to be run with mecway I decided to build my own ccx2.9 from source using gcc and gfortran 5.3.0. With msys2/mingw64 the build process is almost identical to linux with only minor changes to the sources and makefiles.

I did a little (naive) benchmark with the bConverged ccx2.8p2 (no bashing intended, just due to availability)
I ran my binary and Jeffs binary on the model from: http://mecway.com/forum/discussion/comment/748/#Comment_748

The results were quite suprising. It seems gcc did a good job here. If you want to try the binaries yourself pls check github https://github.com/ddfem/ccx_mingw64
The binaries are statically linked, so you should not need/miss any external library. The fully tuned version might fail on some cpus.

I hope these binary can be useful for the mecway community.

regards

kwip


-------------------------------------------------------------------------------------------

CPU: Skylake i7-6820HK
ENV: OMP_NUM_THREADS=4 --> MT is active for all versions (parallel)
ENV: OMP_NUM_THREADS=1 --> MT is inactive for all versions (serial)

bConverged ccx2.8p2
parallel:
real 0m37.762s
user 0m0.000s
sys 0m0.015s

serial:
real 0m42.490s
user 0m0.000s
sys 0m0.015s


ccx_2.9_MT (FLAG: -O3)
parallel:
real 0m25.519s
user 0m0.000s
sys 0m0.015s

serial:
real 0m37.481s
user 0m0.000s
sys 0m0.000s


ccx_2.9_MT FULLY TUNED (FLAG: -O3 -march=native -mtune=native)
parallel:
real 0m22.651s
user 0m0.000s
sys 0m0.015s

serial:
real 0m32.241s
user 0m0.000s
sys 0m0.015s

Comments

  • ... Guido released ccx2.10 ... so did I with the binaries ..
  • Hi Kwip, have you tried this build from within Mecway? I have tried another 2.9 build but have some problems (in fact for some reason Mecway can't lunch the solver).

    Best regards, and good work!
  • I ran into the same problem with probably the same build from sourceforge, that's why I've built my own one which runs flawlessly..
  • @edit: just give it a try
  • Great, I will give a try tomorrow or maybe tonight.

    Best Regards
  • Thanks kwip. This is a great resource. I can confirm that ccx_2.9_MT.exe solves the problem of

    "*ERROR in openfile: could not open file XXXXXX.dat"

    which happens with the CalculiXforWin 2.9 on SourceForge.net when run from within Mecway. It's also more convenient to have a single statically linked binary instead of multiple files.
  • VMHVMH
    edited March 2016
    Did a quick run testing your files and got different results compared to bConverged ccx2.8p2 version. Your builts run real fast though. See comparison in the video below.


  • This is odd, I should have checked this ... I'll dig into this and repost. Thx VMH for your effort and the detailed response.
  • As it turned out ccx does not like overly aggressive optimization on windows ... I dropped most of the optimization, compiling SPOOLES,ARPACK and ccx with "-O" only ... seems to be fine now ... I've updated the binary on github and removed the 2.9 branch and the "-arch" binary.
  • github fooled me a bit, new binary is now online
  • VMHVMH
    edited March 2016
    I did a few quick runs testing your recent build on Calculix ccx2.10 and got the same results as compared bConverged Calculix ccx2.8p2. Your build run real fast. See video of the comparison below. I haven't tried larger and more complex models yet.

    Thanks alot for this!


  • I'm glad you could confirm it is running properly now.
  • Excelent videos VMH!
  • VMHVMH
    edited March 2016
    This built is impressive making good use of my Intel i7-6820HQ processor (32GB DDR4 RAM: only used about 30% of the RAM). It solved a linear static analysis with linear elastic material model that has all quadratic tetrahedral elements (325,979 nodes) in about 2min. Impressive! Thanks!
  • Hi, I'm still have the error with the 2.10, so I get back to the 2.8 from Bconverged

    *ERROR in openfile: could not open file xxxxx.dat

    Regards
  • hi Sergio,
    the same error messages happen with me, when i run CCX version 2.9 (32bit) build by Prool

    hi Kwip,
    can you kindly provide CCX executable files for 32 bit? i need a try
  • Hello rhoka, this was challenging :)
    pls check the repo on github.
    I was not able to test it, but it's a full "-m32" build, so I hope it runs.

    good luck

    regards
  • hi Kwip,

    thank you for kindly build and provide CCX 2.10 for 32bit Windows. i has been tested for simple case and seem working properly using command prompt.

    but still has issue when integrated with Mecway, error message shown it can not produce *.dat result files.

    best greetings,
  • hi rhoka, what a pity this issue arises for you as well ...

    could you please check, if a simple batch file (adapted to your path) acting as wrapper solves this issue?
    content (without hashes):
    ######
    @echo off
    driveletter:\path\to\ccx_2.10_MT_m32.exe -i %1
    ######

    saved as choose_a_name.bat and included via tools->options->CalculiX->Solver
  • Hello to All,
    best compliments to kwip for his great ccx_2.10_MT version. I am facing the same issue as rhoka and Sergio rolling back from windows 10 to windows 7. Everything worked fine on windows 10; this was the only thing that worked fine on that OS on my pc. Maybe kwip the Great compiled his impressive executable on windows 10. BTW everything works great from command prompt.
    Best greetings,
    Stefano
  • edited March 2016
    In my opinion we should keep 2.8 from bConverged for production and the rest only form very special and command line tasks. This will start to look like Linux with their different versions of kernel (CCX) and GUI(Mecway), but in this case there is only one person supporting so maybe we can help him waiting for an "official" release.

    Regards
  • This problem with some binaries happens when there's no output window. So these binaries work in a command prompt window but Mecway doesn't create a window for it and it fails. Version 5 will include a fix for this, either showing an output window or something else.
  • Hello svingegneria ,

    thanks a lot for the compliments. Your assumption is correct, I've built the ccx from within windows 10.
    Did somebody test if the wrapper helps?

    Regards
  • I tried the batch file with one of them, not sure if it was yours or CalcuilXForWin's from Sourceforge and it didn't help. Did it work for you?
  • Hello guys,

    for the ones struggeling with the no output issue, could you pls. try a batch file as shown below?

    @echo off
    start cmd /K "D:\mecway\ccx_2.10_MT.exe -i %1"

    pls. correct the included path according to your path. A window should open, which you can close after ccx has finished. My test with a prools binary (ccx2win) was successful.

    regards
  • That works fantastically kwip! This looks like it'll be a good solution until we somehow get to the underlying cause. Thanks for all the work you've done on this.

  • Victor, thanks for your compliments, you are welcome, finding workarounds is my daily job ;)
    I really like mecway and I'm glad to help a little to improve the users experience.

    I'm really looking forward to mecway 5 ...

    regards
  • Great! It works for me too, I has to tune a little the path as I have spaces on that.

    C:\PROGRA~2\bConverged\CalculiX\ccx\ccx210\ccx_2.10.exe

    I'm also looking forward to the next version :-)
  • VMH,

    Would it be possible for you to post the input file of the link and pin test? Thanks.
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!