Releases: McStasMcXtrace/McCode
McXtrace 3.0 is released!
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
McXtrace 1.7 is released !
McXtrace 1.7 is released
Dear simulators, The team is happy to announce that McXtrace 1.7 is out!
1.7 has been focused mainly on stability and bug-fixes, but also provides
a set of new features. Binary packages are provided for the main
platforms: Debian /Ubuntu, Fedora, Windows 10, Mac OSX (arm and intel
based). As is the presently custom, see
https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McXtrace
for specific installation instructions for you platform.
Please also keep an eye out for the for upcoming release of McXtrace
3.0, which is a technology preview release of an improved code-generator
enabling McXtrace to run on GPUs.
Happy simulation!
CHANGES in 1.7
This is mainly a bugfix/update release, but does include the first model
of a beamline at the SOLEIL synchrotron.
It also marks a switch for McXtrace to the the GPLv3 license.
- Improved installation scripts
1. Installs cleanly on Mac silicon - Updated examples:
1. MAXIV_DanMAX_pxrd2d.instr - New examples:
1. SOLEIL ROCK beamline.
2. ESRF BM29 skeleton beamline.
3. Example of Air-scattering block.
4. Test example for the GROUP langnuage feature
5. Union demo test example
6. New Example of Compton scattering union process. - Updated Components
1. PowderN.comp: Fix bug with faulty packing factor logic,
which lead to wrong intensities when used with SPLIT.
2. Lens_parab_Cyl_rough.comp, Lens_parab_rough.comp,
Lens_Kinoform.comp: documentation issues
3. Mirror.comp: documentation update
4. Mirror_curved.comp, Mirror_elliptic.comp: Use reflectivity library
5. Mirror_toroid.comp: Fix for stable handling of reflectivity file
6. Absorption_sample.comp: Fix inner/outer volume logic
7. Source_genesis13.comp, Source_simplex.comp: Documentation issues.
8. Air.comp: Correct scattering amplitude.
9. New: Laue_crystal_BC.comp: experimental model of a Laue
crystal available for testing. - Updated libraries:
1. Reflectivity-lib has a series of bugfixes. - New tools:
1. Test tool for component writers' convenience.
2. Scripts for generating reflectivity files. - License change:
The release includes a switch to the GPLv3-license for McXtrace. The underlying reason for this
is to help collaboration wih the Debian project.
We provide Debian packages. For other platforms, refer to:
McStas 3.1 release!
(Uploaded to GitHub in 2022 for completeness, was released November 24th 2021)
A new release of McStas "next-generation", v. 3.1 has been built and is ready for download!
Download and installation instructions are available via our GitHub download pages.
Selected highligts from the release are listed below. The full list of changes is also available at https://mcstas.org/CHANGES_McStas.
Fixes of issues from last release:
A large number of issues from the earlier 3.0 were addressed, see the relevant GitHub issues for details:
https://github.com/McStasMcXtrace/McCode/issues?q=is%3Aissue+is%3Aclosed+label%3Amcstas-3.0
Migration-docs and guides for transitioning between McStas 2.x and 3.x can be found on our GitHub-based Wiki
3.1 can be considered the first "full-quality" production release of McStas with GPU support
Tools
mcgui allows definition of an "external editor", see the configuration menu.
On Linux we preconfigure for gedit (where we now also provide syntax-highlighting, on macOS and Windows we default to use the OS file-type settings, i.e. whatever you get by double-clicking an instr file.) Use ctrl/meta + shift + e to spawn the editor from mcgui.
Platforms:
We still support 64bit Windows 10/11 on Intel, all recent 64bit macOS including 11.x Big Sur and 12.x Monterey on both Intel and Apple Silicon/M1 processors. Debian-based distros on Intel and Arm, RPM-based distros on Intel. (RPMs are built on/for CentOS and Fedora, you may get varying milage elsewhere.)
We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:
https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McStas-3.x
McStas "classic" 2.7.1 release
(Uploaded to GitHub in 2022 for completeness, was released October 5th 2021)
A new release of in the McStas “classic" series, v. 2.7.1 has been built and is ready for download!
Download and installation instructions are available via our GitHub download pages.
Selected highligts from the release are listed below. The full list of changes is also available at https://mcstas.org/CHANGES_McStas.
• Fixes of issues from last release:
• A number of minor issues from 2.7 were addressed, see the relevant GitHub issues for details:
• https://github.com/McStasMcXtrace/McCode/issues?q=is%3Aissue+is%3Aclosed+label%3Amcstas-2.7
• Tools
• mcgui allows definition of an "external editor", see the configuration menu.
• On Linux we preconfigure for gedit (where we now also provide syntax-highlighting, on macOS and Windows we default to use the OS file-type settings, i.e. whatever you get by double-clicking an instr file.) Use ctrl/meta + shift + e to spawn the editor from mcgui.
• Platforms:
• We still support 64bit Windows 10/11 on Intel, all recent 64bit macOS including 11.0 Big Sur on both Intel and Apple Silicon/M1 processors. Debian-based distros on Intel and Arm, RPM-based distros on Intel. (RPMs are built on/for CentOS and Fedora, you may get varying milage elsewhere.)
We provide x86_64 Debian packages here on GitHub. For other platforms, please refer to:
https://github.com/McStasMcXtrace/McCode/tree/master/INSTALL-McStas-2.x