In the S/PHI/nX project  an intuitive algebra/physics programming interface was combined with high runtime performance. Therefore, the compiler has to “understand” the algebraic or even quantum mechanical context in order to generate machine code that is (at least) as efficient as manually optimized code. This has been accomplished through various techniques, such as:
- fully automatic BLAS/LAPACK function mapping,
- algebra type mapping,
- fully automatic memory management, or
- efficient exploitation of level caches and arithmetic pipelines.
These techniques have been made publicly available as a separate project decoupled from the physics libraries of S/PHI/nX. This highly optimized cross-platform general purpose library is called SxAccelerate.
Key features of S/PHI/nX Accelerate
- Intuitive Programming Interface No deep C++ knowledge is necessary to implement algorithms with SxAccelerate.
- Fast SxAccelerate has been continuously optimized to meet the high-performance demands of the S/PHI/nX density functional theory program package.
- Automatic Memory Management All SxAccelerate data types provide a fully automatic memory allocation / deallocation mechanism without need for a garbage collector. The developer never has to worry about freeing memory blocks.
- Complete SxAccelerate covers a broad spectrum of utilities (algebra, numerics, file I/O, parallelism, containers, strings, etc.).
- Easy to incorporate SxAccelerate can easily be incorporated into Eclipse, MSVC, and other IDEs. It works well with QT and other widget toolkits.
- Open Source SxAccelerate is available as an open source package.
As S/PHI/nX’s SxAccelerate is highly modularized and designed as a set of C++ libraries, benefiting from it in other projects is straightforward, one of them being the Gemmantics Hive Cluster administration environment. Here, in particular, the cross-platform high-performance libraries of SxAccelerate have been utilized to create a scalable management framework.
|||The object-oriented DFT program library S/PHI/nX,|
|S. Boeck, C. Freysoldt, A. Dick, L. Ismer, J. Neugebauer,|
|Comp. Phys. Comp. (182), 543|