Tools on J-x86-1 or J-QMU-1 node

Tools which are mentioned for x86 architecture are able to run onJ-x86-1. Tools which are mentioned for RISC-V architecture are able to run on J-QMU-1.

The packages which are supported for QEMU User mode can be used by normal commands once they are loaded.

Here PACKAGE_NAME is the package which you want to run on QEMU user mode.

Operating System: Debian 11 (bullseye)
QEMU User Mode Version: Different Versions (see the table below)

Tooling available for J-x86-1

The tools available for J-x86-1 is for use on x86 architecture and these tools do not support execution on RISC-V architecture

Tool Versions Installed from Host Architecture Environment Modules Support
Git 2.3.0.2 source x86 N/A
OpenJDK 19.0.1 apt x86 N/A
GCC 10.4.0, 12.2.0 apt x86 Yes
Python3 3.8.15, 3.9.2 source x86 Yes
Go 1.18.8 apt x86 N/A
rustc 1.65.0 source x86 N/A
Flex 2.6.4 apt x86 N/A
Ninja 1.10.1-1 apt x86 N/A
Bison 3.7.5 apt x86 N/A
autoconf 2.69 apt x86 N/A
gperf 2.2.4 apt x86 N/A
spike 1.1.1-dev source x86 Yes
Verilator 4.038 apt x86 N/A
Sail (riscv_sim_RV64, riscv_sim_RV32) 0.5 source x86 Yes
cmake 3.18.4 apt x86 N/A
make 4.3 apt x86 N/A
ARM EABI GNU toolchain 13.2.Rel1 source x86 Yes
qemu-system-arm 8.2.2 source x86 Yes
SCons 4.7.0 source x86 Yes

Tooling available for J-QMU-1

The tools available for J-QMU-1 is for use on RISC-V architecture and these tools do not support execution on x86 architecture

Tool Versions Installed from Host Architecture Environment Modules Support
Python3 3.8.15 source RISC-V Yes
zlib 1.2.13 source RISC-V N/A
OpenSSL 1.1.1r source RISC-V Yes
Ruby (without IRB) 3.2.0dev source RISC-V Yes
rustc 1.65.0 source RISC-V N/A
Flex 2.6.4 source RISC-V yes
Ninja 1.12.0.git source RISC-V Yes
Bison 3.8.2, 2.3 source RISC-V Yes
clang 16.0.0 source RISC-V (cross compiler) Yes
riscv-pk 1.0.0-91-g573c858 source RISC-V Yes

QEMU User mode and RISC-V GNU Cross compilers

From now on RISC-V cross-compilers can only be loaded with their respective QEMU User mode on Cloud-V. This is configured so that there is no confusion between toolchain version and qemu user mode being used because both of these will be "generally" taken from the latest releases of nightly builds. Loading a certain RISC-V toolchain using environment modules will automatically load the respective qemu usermode version unless otherwise specified.

The loading pattern for RISC-V 64-bit GNU Glibc toolchain will be as follows:

module load riscv64-gnu-glibc/<release-date>

And the loading pattern for RISC-V 64-bit GNU Glibc toolchain will be as follows:

module load riscv64-gnu-elf/<release-date>

Following table provides relevant information about version of the toolchain and the respective QEMU User mode version (where the release date is mentioned in pattern MMDDYYYY).

Release date GNU Toolchain version (elf and glibc) QEMU Version
03012024 13.2.0 8.2.1
02022024 13.2.0 8.2.1
02022024 13.2.0 8.1.1

Note: The J-QMU-1 and J-x86-1 are one and the same runner. The purpose of creating two separate executors for same hardware is that J-x86-1 is supposed to be specifically for x86 architecture whereas J-QMU-1 is specifically for the users who want to cross compile source code for riscv64 architecture and then use qemu-usermode to execute them. Nevertheless, the tooling available for J-x86-1 can also be used for J-QMU-1