Skip to content

McXtrace 3.0 is released!

Compare
Choose a tag to compare
@willend willend released this 09 Feb 10:22

Dear all,

The McXtrace team is happy to announce that our McXtrace 3.0 “next generation” release is now available.

McXtrace 3.0 is the first release in the 3.0 series with a completely rewritten code-generator and thereby
support for GPU-acceleration through the OpenACC programming model.

We have seen speedups of 1-2 orders of magnitude over the CPU version, depending on the computational
Problem / complexity.

THANKS:

  • Thanks to: all members of the team (and also to the McStas team), for pulling together to make this possible.
  • Thanks to the mentors at the GPU Hackathons that really made this happen
  • Thanks to NVIDIA for making the hackathons happen

INSTALLATION:

  • Installation instructions for McXtrace-3.0 and support libraries may be found on our the McCode github-site:
    https://github.com/McStasMcXtrace/McCode/tree/master/Install_McXtrace-3.x
  • OpenACC acceleration is at present available out of the box on Linux.
  • On windows it is possible to target GPU-acceleration through Windows Subsystem For Linux v2: WSL2.
  • The present McXtrace-3.0 implementation relies the concept managed memory, which
    is at the time of writing only supported by the Linux version of the NVHPC-kit
    (downloadable from https://developer.nvidia.com/hpc-sdk)

For more information on the GPU-features of the release, please consult the CHANGES_McXtrace document on GitHub
(https://github.com/McStasMcXtrace/McCode/blob/mcxtrace-3.0-release/CHANGES_McXtrace) and the section
“Migrating from McStas 2.x to 3.x (and McXtrace 1.x to 3.x)” in our https://github.com/McStasMcXtrace/McCode/wiki

Tools:

  • The perl-suite of tools are no longer actively supported. They may still work.

Platforms:

  • We support the platforms Debian/Ubuntu and Fedora for Linux, 64 bit Windows 10, and recent 64 bit macOS (big Sur and
    newer). For FreeBSD you may build from source, an entry into the ports system is pending.

Components and Instruments:

  • Most components and instruments work out of the box. See https://new-nightly.mcxtrace.org/ for details.
  • Monitor_nD.comp: the uservar utility should now be given a string insted of a token name to measure a USERVAR entity
    tagged onto the photon. The string is used to look-up the name of the variable which should be declared in the USERVARS-section
    of the instrument file.

We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:

https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McXtrace-3.x