ORC-2179: Add RISC-V Docker image and GitHub Actions support#2644
ORC-2179: Add RISC-V Docker image and GitHub Actions support#2644zhanchangbao-sanechips wants to merge 3 commits into
Conversation
This patch adds a riscv64 Ubuntu 24.04 Docker image and a corresponding GitHub Actions job to build ORC on RISC-V.
dongjoon-hyun
left a comment
There was a problem hiding this comment.
Please use riscv64/ubuntu:26.04 because 26.04 is the latest LTS.
Thanks for the review. Updated to use riscv64/ubuntu:26.04 as suggested. Changes made: Renamed docker/riscv64-ubuntu24/ to docker/riscv64-ubuntu26/ |
| -t orc-riscv64 . | ||
| - name: Build ORC with RVV | ||
| run: | | ||
| docker run --platform linux/riscv64 --rm -v $(pwd):/root/orc orc-riscv64 /bin/bash -c \ |
There was a problem hiding this comment.
we should make sure v extension is enable
There was a problem hiding this comment.
we should make sure v extension is enable
I have updated the docker run command to include the environment variable QEMU_CPU=rv64,v=on,vlen=128,vext_spec=v1.0, and verified that RVV is working correctly.
The vext_spec=v1.0 explicitly specifies the vector extension version to suppress the warning: "vector version is not specified, use the default value v1.0".
Set QEMU_CPU=rv64,v=on,vlen=128,vext_spec=v1.0 in the riscv64 CI job and pass it into the Docker container via -e QEMU_CPU. This ensures the emulated RISC-V CPU has the V extension enabled so that ORC's RVV code path can be exercised in CI.
10db7dd to
8fba229
Compare
What this PR does
Adds a RISC-V (riscv64) Docker image for Ubuntu 24.04 and wires it into GitHub Actions so we can continuously build ORC on RISC-V.
Changes
docker/riscv64-ubuntu24/Dockerfile: new image based on the existing Ubuntu 24.04 Dockerfile. Supports bothcc=gcc(default) andcc=clangbuild args.docker/os-list.txt: registered the new image..github/workflows/build_and_test.yml: added ariscv64job running under QEMU onubuntu-latest.Notes
aarch64/ubuntu24Docker images to keep things consistent.docker buildxon a host with QEMU user-static registered.ScreenShot