Build Notes: S/PHI/nX on Windows

Written by sixten on . Posted in All Posts, S/PHI/nX

Microsoft Windows

S/PHI/nX and its underlying high-performance general-purpose C++ class library SxAccelerate are already available on all popular Linux derivates (such as RHEL, CentOS, Fedora, OpenSuSE, Debian, Ubuntu) as well as MacOS X and FreeBSD.

However, until now the support of Windows was missing. In particular, having the general-purpose C++ library available under all relevant operating systems would be very beneficial:

SxAccelerate provides an intuitive high-level C++ programming interface necessary for rapid application development. It is based on modern programming techniques to allow the generation of very efficient code. Furthermore, it interfaces most of the commonly needed operating system function calls:

  • Multithreading:
    S/PHI/nX supports an intuitive interface for programming with multiple threads. A built-in thread manager spools the necessary tasks to the underlying thread mechanism of the operating system.
  • File system operations:

S/PHI/nX at “Lange Nacht der Wissenschaften”

Written by Oliver Marquardt on . Posted in All Posts, S/PHI/nX


Lange Nacht der WissenschaftenScientific software is commonly highly complex and it requires a lot of time, effort and dedication to perform successful research with such tools. People that are interested in such research, but no experts in the field will normally hesitate from using complex tools.

Using the Python programming language, we have now developed a first graphical user interface (GUI) for simple quantum mechanical particle-in-a-box calculations, that allows the usage of the modern electronic structure simulation package S/PHI/nX with a very simple and intuitive surface.

Spectrograms in C++ with libav (FFmpeg), libpng and S/PHI/nX

Written by vasek on . Posted in All Posts, S/PHI/nX

SxFFT It this C++ example we will draw spectrograms with libav (FFmpeg), S/PHI/nX, and libpng. Libav is used to read audio files. From S/PHI/nX we will use mostly SxMatrix to store audio sample data and vector of complex numbers as the input for SxFFT1d. Libpng writes images in PNG file format.

The spectrogram is an important representation of audio data because human hearing is based on a kind of real-time spectrogram encoded by the cochlea of the inner ear (more here). The spectrogram can be defined as an intensity plot of Short-Time Fourier Transform (STFT) magnitude. STFT is a sequence of Fast Fourier Transform (FFT) on input audio samples. The intensities are usually plotted in decibel logarithmic scale.

Images in C++ with libpng and S/PHI/nX

Written by vasek on . Posted in All Posts, S/PHI/nX


Hi there! In this short text we will go through some code to create fractal images and then write them to image files. It is a small tutorial to S/PHI/nX and mainly its part SxAccelerate which is used as external library in this project (more about SxAccelerate and code examples). The “Sx” classes that are used are namely SxCLI, SxString, SxArray, SxNArray, SxException and SxComplex.

The first question is to choose some image file format to store our pixels.One is usually very happy just with PPM formats because they are so easy to create. (More details about PPM/PGM/PBM variants with examples). But we will go one step further and use PNG (Portable Network Graphics). It is practical. Just to mention few features: Lossless compression, palette/grayscale/truecolor color mode, up to 16-bit-per-sample support, transparency, and so on. Finally, the format has its MIME and we can put the images directly to web.

Build Notes: CentOS 6.3

Written by sixten on . Posted in S/PHI/nX, System Administration

Today CentOS 6.3 has been released. CentOS – the Community ENTerprise Operating System  - is a free community-driven alternative to Red Hat Enterprise Linux  (RHEL). CentOS 6.3 is based on RHEL 6.3 (available since 06/21/2012). CentOS can be considered as a particularly stable Linux distribution which is, therefore, very popular for building up large cluster environments.

The complete release notes of CentOS 6.3 can be found here.

Build Notes: Fedora 15

Written by sixten on . Posted in All Posts, S/PHI/nX

After discussing the installation of S/PHI/nX and SxAccelerate on Debian in the previous post this time I focus on Fedora 15. Fedora is a community driven Linux distribution and strongly supported from Redhat. Fedora is known to embrace latest developments such as new kernel releases, compilers, libraries, and protocols very early compared to many other distributions.

After briefly sketching the installation of a minimal Fedora 15 setup I will demonstrate the compilation of S/PHI/nX and SxAccelerate on that system.

S/PHI/nX Binary Distribution (*.deb)

Written by sixten on . Posted in All Posts, S/PHI/nX

Download S/PHI/nX and SxAccelerate Binaries for Debian here.

1st S/PHI/nX Binary Distribution released.

The object-oriented Density-Functional-Theory program package S/PHI/nX and its underlying high-performance general purpose C++ framework SxAccelerate have been released recently as open-source. Although building the libraries is straightforward, Gemmantics creates and maintains binary packages of both S/PHI/nX and SxAccelerate. In the upcoming weeks we will deploy native installers for various operating systems. By using the binary packages you can start working with S/PHI/nX or developing with SxAccelerate within one or two minutes.

The first operating system which we support for shipping S/PHI/nX binaries is Debian (others will follow). Debian’s native package management system is apt-get, packages can be installed with the dpkg program.

Build Notes: S/PHI/nX on Debian

Written by sixten on . Posted in All Posts, S/PHI/nX

In this and the upcoming articles on S/PHI/nX and SxAccelerate I will briefly discuss the installation of the packages on various operating systems. The generated S/PHI/nX libraries and executables will be bundled and added to the binary distributions of S/PHI/nX.

I will begin this series with Debian. Debian is a widely spread Linux distribution, quite stable, and easy to install and work with.

Release of S/PHI/nX 2.0

Written by sixten on . Posted in All Posts, S/PHI/nX

Download the S/PHI/nX C++ Libraries here.


Today the source code of the S/PHI/nX project has been released and can be downloaded for free. S/PHI/nX is a fully featured and highly optimized object-oriented DFT program library written in C++.

A major objective [1] of the S/PHI/nX project [2] is the development and implementation of a new physics meta-language which can simplify the development of algorithms in materials research and life science significantly.

  1. Algebra Expression:
    Within this project state-of-the-art computer science techniques have been implemented or developed to provide a language to express algebraic expressions efficiently on modern computer platforms.
    For example, the algebraic expression
    \(\mathbf{M} = \alpha \mathbf{A}^T\mathbf{B} + \beta \mathbf{C}\)
    can be implemented as

    M = a*A.transpose() ^ B + b*C;

© 2013 Gemmantics