Registered Member
|
Hi, I think I am missing something, can anybody help me?
Story: I have a (scientific) project that needs to do a ton of eigenproblem solving in a loop for a large rank matrices (>256) ("self-adjoint" and generally complex ). Matlab just can not handle this due to memory issues. So, I have made a program using Eigen 3, having in mind running this with openMPI on our 64-processor cluster. On VS2012 Express on my laptop (i7, Win7) everything works jolly well, but when I tried to compile things on any of our Linux systems (also tried Virtual Machine Ubuntu on my laptop) instead of anticipated boost of performance I get 10x slower speed. Here is a representative test code -- runs for about 4 ,729 s on Windows and 75,980s on Ubuntu (GCC) and a bit faster than Ubuntu on openSuse (Intel C++) ---
To compile I have used following code (GCC compiler is up to date, option "-o3" does not do much):
Then I have installed octave on the same Ubuntu machine and run similar code there. It took only 8.66 s !!!.
can anybody help me understand where I loose the performance? |
Registered Member
|
OK, please forgive me, an old FartFortran user ... the optimization option should have been "-O3" (big O). Getting some other optimization options helped too. After looking at other threads on this forum, here is what gives me a whooping 1.8s speed:
Eat that, octave!!! |
Registered users: Baidu [Spider], Bing [Bot], Google [Bot], Yahoo [Bot]