Native installation

Goals

To do the practicals on your local system, you are going to need the following things:

  • A basic software build toolchain including a libc development package and a linker.
  • A Rust installation based on the official rustup installer.1
  • The HDF5 and hwloc libraries.
  • An implementation of the pkg-config command. This does not have to be the original implementation, pkgconf on Unices and pkgconfiglite on Windows also work.

Other tools which are not absolutely necessary but will prove convenient include…

  • A code editor with at least Rust syntax highlighting, and preferably TOML syntax highlighting and support for the rust-analyzer language server too. The latter provides IDE functionality such as variable renaming and autocompletion.
    • Please read the “Installation” section of the rust-analyzer manual for a fairly comprehensive list of supported editors and installation instructions for each.
  • A POSIX shell and the curl, lscpu and unzip command-line utilities. These will allow you to run the few non-Cargo commands featured in this course to automate some tasks.

The remainder of this chapter will guide you towards installing and setting up these dependencies, except for code editor dependent matters like rust-analyzer which we will treat as a personal choice and leave you in charge of.

OS-specific steps

Please pick your operating system for setup instructions:


  1. Third-party cargo and rustc packages from Linux distributions, Homebrew and friends cannot be used during this course because we are going to need a nightly version of the compiler in order to demonstrate an important upcoming language feature pertaining to SIMD computations.