Skip to content

Upgraded highmem nodes on Apocrita

The Apocrita highmem nodes have just been upgraded so that they contain newer CPUs with more modern instruction sets.

Previously the highmem nodes on Apocrita were named emf and contained Intel Xeon E5-2695 v2 CPUs. These CPUs were first launched in 2013, at a time before the newer AVX2 and AVX-512 AVX instruction sets were widely available.

We have now upgraded the highmem nodes as well as renaming them to smf. These nodes now contain Intel Xeon Gold 6126 CPUs, which were released in 2017 and are the same CPUs you can find in our sdv nodes. The Xeon Gold 6126 is much more performant compared to the older Xeon E5-2695 v2:

The Xeon Gold 6126 also supports AVX2 and AVX-512 instruction sets. In our internal benchmarks we have seen up to 50% improvement on the new smf nodes compared to the old emf nodes when running like-for-like benchmarks.

Taking advantage of newer instruction sets in R

Some R packages such as Seurat can take advantage of the newer AVX2 and AVX-512 instruction sets. However, because we now provide a default centralised Makevars for all R users on Apocrita, packages such as Seurat will automatically compile based on the CPU present at the time they are installed (-march=native). In the past, this meant if you installed Seurat into a personal library in an Apocrita session running on a ddy node (our most commonly offered non-highmem node), then it would be compiled against the CPU contained in those nodes, a CPU which supports AVX2 and AVX-512. This was fine if you then also ran all subsequent workloads on a node containing a CPU that also supported AVX2 and AVX-512.

The issue that used to arise is that the emf nodes didn't support AVX2 and AVX-512, so if you installed Seurat into a personal R library on a ddy node but then tried to execute R code using it on an emf node, you would get something along the lines of:

*** caught illegal operation ***
address 0x2b70b6710598, cause 'illegal operand'

This was because Seurat was trying to address instruction sets that weren't present.

The upgrade from emf to smf should now prevent this from happening.

Recreate your library

If you previously installed your personal library on an emf node to circumvent the above issues, we strongly advise you to clear out your existing library and then reinstall everything in a qlogin/ qsub session (not on a frontend node - these don't support AVX512) or in RStudio on Open OnDemand. This will ensure that packages such as Seurat take advantage of AVX2 and AVX-512.

If you have any questions regarding these changes, please contact us on our Slack channel (QMUL users only), or by sending an email to its-research-support@qmul.ac.uk which is handled directly by staff with relevant expertise.


Title image: Cris DiNoto on unsplash