FALCON is a Python-based software application designed to facilitate PET motion correction, both for head and total-body scans. Our program is built around the fast 'greedy' registration toolkit, which serves as the registration engine. With FALCON, users can enjoy a streamlined experience for implementing motion correction.
GNU General Public License v3.0
36
stars
6
forks
source link
Replace falconz_linux_x86_64 Clang-Compiled Binaries with GCC-Compiled Binaries for Improved Performance #50
The falconz package uses pre-compiled binaries to offer cross-platform support. However, it has come to our attention that the performance of falconz_linux_x86_64, which is compiled with Clang, is significantly slower when run on systems where the compiler is GCC.
Steps to Reproduce:
Install falconz on a Linux x86_64 machine where the default compiler is GCC.
Run falconz
Observe slower execution times compared to when a GCC-compiled binary is used.
Expected Results:
The package should run efficiently irrespective of the underlying compiler used on the host system.
Actual Results:
Slower performance when using Clang-compiled falconz_linux_x86_64 binary on a GCC-based Linux system.
Additional Information:
When the Clang-compiled binary was replaced locally with a GCC-compiled binary, performance improved significantly.
Suggested Solutions:
Replace the pre-compiled falconz_linux_x86_64 Clang binaries stored on the cloud with GCC-compiled binaries.
Update documentation to indicate the use of GCC-compiled binaries for Linux x86_64 systems.
Add runtime checks or package configuration to allow users to specify their preferred compiler, if possible.
Acceptance Criteria:
[x] GCC-compiled binaries replace Clang-compiled binaries in the cloud storage.
[ ] Updated documentation.
[ ] (Optional) Runtime checks or package configurations for compiler preferences are implemented.
As of now I have replaced the clang binaries with gcc binaries for linux. The speed test says indeed gcc precompiled binary is faster. Hopefully I come up with a better solution.
Issue Description:
Summary:
The
falconz
package uses pre-compiled binaries to offer cross-platform support. However, it has come to our attention that the performance offalconz_linux_x86_64
, which is compiled with Clang, is significantly slower when run on systems where the compiler is GCC.Steps to Reproduce:
falconz
on a Linux x86_64 machine where the default compiler is GCC.Expected Results:
The package should run efficiently irrespective of the underlying compiler used on the host system.
Actual Results:
Slower performance when using Clang-compiled
falconz_linux_x86_64
binary on a GCC-based Linux system.Additional Information:
When the Clang-compiled binary was replaced locally with a GCC-compiled binary, performance improved significantly.
Suggested Solutions:
falconz_linux_x86_64
Clang binaries stored on the cloud with GCC-compiled binaries.Acceptance Criteria: