Next: 3 Parallelism Up: 2 Installation Previous: 2.8 Installation tricks and Contents
Subsections

- 2.9.1 Obsolescent architectures
  - 2.9.1.1 Intel Xeon Phi
  - 2.9.1.2 IBM BlueGene

## 2.9 Cray machines

For Cray XE machines:

    $ module swap PrgEnv-cray PrgEnv-pgi
    $ ./configure --enable-openmp --enable-parallel --with-scalapack
    $ vim make.inc

then manually add `-D__IOTK_WORKAROUND1` at the end of `DFLAGS` line.

''Now, despite what people can imagine, every CRAY machine deployed can have different environment. For example on the machine I usually use for tests [...] I do have to unload some modules to make QE running properly. On another CRAY [...] there is also Intel compiler as option and the system is slightly different compared to the other. So my recipe should work, 99% of the cases.'' (info by Filippo Spiga)

For Cray XT machines, use `./configure ARCH=crayxt4` or else `configure` will not recognize the Cray-specific software environment.

Older Cray machines: T3D, T3E, X1, are no longer supported.

### 2.9.1 Obsolescent architectures

#### 2.9.1.1 Intel Xeon Phi

For Intel Xeon CPUs with Phi coprocessor, see this link:
`https://software.intel.com/en-us/articles/explicit-offload-for-quantum-espresso`.

There are three ways of compiling:

- offload mode, executed on main CPU and offloaded onto coprocessor "automagically";
- native mode, executed completely on coprocessor;
- symmetric mode, requiring creation of both binaries.

"You can take advantage of the offload mode using the `libxphi` library. This library offloads the BLAS/MKL functions on the Xeon Phi platform hiding the latency times due to the communication. You just need to compile this library and then to link it dynamically. The library works with any version of QE. Libxphi is available from `https://github.com/cdahnken/libxphi`. Some documentation is available therein.

Instead, if you want to compile a native version of QE, you just need to add the `-mmic` flag and cross compile. If you want to use the symmetric mode, you need to compile twice: with and without the `-mmic` flag". "[...] everything, i.e. code+libraries, must be cross-compiled with the `-mmic` flag. In my opinion, it's pretty unlikely that native mode can outperform the execution on the standard Xeon cpu. I strongly suggest to use the Xeon Phi in offload mode, for now" (info by Fabio Affinito, March 2015).

#### 2.9.1.2 IBM BlueGene

The current `configure` was working on the machines at CINECA and at Jülich. For other machines, you may need something like

      ./configure ARCH=ppc64-bg BLAS_LIBS=...  LAPACK_LIBS=... \
                  SCALAPACK_DIR=... BLACS_DIR=..."

where the various *_LIBS and *_DIR "suggest" where the various libraries are located.

Next: 3 Parallelism Up: 2 Installation Previous: 2.8 Installation tricks and Contents