help > CMTK 3.3.1build for OSX vs Linux build
Showing 1-1 of 1 posts
Oct 6, 2017 02:10 PM | Cristian Goina
CMTK 3.3.1build for OSX vs Linux build
Hello,
Does anybody know how the CMTK 3.3.1 MAC OSX distribution (CMTK-3.3.1-MacOSX-10.6-x86_64.dmg) was created in comparison with the linux distribution (CMTK-3.3.1-Linux-x86_64.tar.gz)?
We installed CMTK 3.3.1 both on a Macbook PRO with Intel i7 and 16 GB of RAM and on a linux server running Scientific Linux 7 with 32 core Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz and 256 GB of RAM.
The strange behavior is that when we run the brain alignment on the MAC using munger with a single thread the job completes in about 2h. When we run on the linux server, which is a more powerful machine, same brain with the same settings also using a single thread - it runs in about 20h - 10x slower. If we run on linux with 8 threads it runs in about 2h - so it scales nicely but if possible we'd like to get the same performance on Linux with 1 thread that we get on a MAC using the DMG distribution with 1 thread. The reason is that we want to run the alignment for a lot of brains on our cluster and if possible we'd like to use a single core and get the results in reasonable time.
Here's another strange thing. We downloaded the source code and compiled it locally both on MAC and on Linux and re-ran the test with our compiled version. This time what we noticed was that the runtime on a MAC ,for the same brain that before ran in 2h, now it takes a comparable time with what we had on Linux before > 20h - way way slower. So there must be some optimization that was used for the current OSX 3.3.1 dmg distributions and if possible we would like to know what that is because we would like to optimize it in the same way for Linux.
Here's the output of otool for warp of my build
otool -L bin/warp
bin/warp:
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/local/opt/fftw/lib/libfftw3_threads.3.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/local/opt/fftw/lib/libfftw3.3.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
and here's the otool output of the warp tool installed from the 3.3.1 DMG
otool -L /opt/local/lib/cmtk/bin/warp
/opt/local/lib/cmtk/bin/warp:
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
Thank you
Cristian
Does anybody know how the CMTK 3.3.1 MAC OSX distribution (CMTK-3.3.1-MacOSX-10.6-x86_64.dmg) was created in comparison with the linux distribution (CMTK-3.3.1-Linux-x86_64.tar.gz)?
We installed CMTK 3.3.1 both on a Macbook PRO with Intel i7 and 16 GB of RAM and on a linux server running Scientific Linux 7 with 32 core Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz and 256 GB of RAM.
The strange behavior is that when we run the brain alignment on the MAC using munger with a single thread the job completes in about 2h. When we run on the linux server, which is a more powerful machine, same brain with the same settings also using a single thread - it runs in about 20h - 10x slower. If we run on linux with 8 threads it runs in about 2h - so it scales nicely but if possible we'd like to get the same performance on Linux with 1 thread that we get on a MAC using the DMG distribution with 1 thread. The reason is that we want to run the alignment for a lot of brains on our cluster and if possible we'd like to use a single core and get the results in reasonable time.
Here's another strange thing. We downloaded the source code and compiled it locally both on MAC and on Linux and re-ran the test with our compiled version. This time what we noticed was that the runtime on a MAC ,for the same brain that before ran in 2h, now it takes a comparable time with what we had on Linux before > 20h - way way slower. So there must be some optimization that was used for the current OSX 3.3.1 dmg distributions and if possible we would like to know what that is because we would like to optimize it in the same way for Linux.
Here's the output of otool for warp of my build
otool -L bin/warp
bin/warp:
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/local/opt/fftw/lib/libfftw3_threads.3.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/local/opt/fftw/lib/libfftw3.3.dylib (compatibility version 9.0.0, current version 9.6.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
and here's the otool output of the warp tool installed from the 3.3.1 DMG
otool -L /opt/local/lib/cmtk/bin/warp
/opt/local/lib/cmtk/bin/warp:
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
Thank you
Cristian