Overview

RISC-V has already seen billions of shipments in areas like MCU/IoT and is now challenging the high-performance computing fields of desktop computing, deep learning data centers, and more. In comparison to the software ecosystem in embedded systems and IoT, the software ecosystem for desktop and server domains is rich, requiring significant efforts for porting and optimization.

 

To expedite the advancement of the RISC-V software ecosystem, as a leading entity in the RISC-V ecosystem, SOPHGO, in collaboration with the RISC-V China community and the PLCT Laboratory of the Institute of Software, Chinese Academy of Sciences, has launched the "RISC-V Software Porting and Optimization Championship." This initiative emphasizes the desktop and server software ecosystem, openly presenting a series of competition challenges in various areas such as compilers, runtime environments, deep learning software stacks, and more. Developers worldwide are invited to tackle these challenges and compete for cash prizes.

 

Description

1. Chinese Domestic Graphics Card/Accelerator Platform Porting and Demo

 

Index:P2304

Award:15000RMB

 

  • Program Description

Run Linux distribution with GNOME/KDE desktops, OpenGL 3D benchmarks, video playback, and 2D/3D games on a combination of SG2042/Pioneer Box + an arbitrary (host sanctioned) Chinese domestic graphics card/accelerator.

Note: The host specifies that the first two to complete porting will receive the specified reward.

 

  • Rubrics

1. Runs the specified applications for six hours without crashing.

2. Runs glmark or glmark-es2.

3. Runs glxinfo (on graphics cards/accelerators with OpenGL support).

4. Runs SuperTuxKart without crashing.

5. (Extra Credit) Runs any map in SuperTuxKart at any settings with a framerate of 60fps.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


2. ROCm Porting with AMD Graphics Card/Accelerator Compatibility

 

Index:P2303

Award:20000RMB

 

  • Program Description

ROCm is an open source compute framework from AMD, which is an NVIDIA’s CUDA competitor. This program asks the participant to port ROCm to an arbitrary SG2042/Pioneer Box + AMD graphics card/accelerator platform, making it possible to perform high-performance heterogenous computing on RISC-V hardware with a combination of open source hardware and software.

 

  • Rubrics

1. Supports the ROCm OpenCL runtime and FFT, BLAS, SPARSE, and other mathematics libraries.

2. Test pass rates close to the x86 architecture.

3. Completes ROCm’s bundled benchmarks (such as rocm_bandwidth_test, rocHPL, and rocHPCG) and runs common scientific compute applications based on ROCm.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


3. OpenCV Optimization for Duo

 

Index:S2309

Award:15000RMB

 

  • Program Description

Improve OpenCV performance on Milk-V Duo. The participant must port OpenCV to the Milk-V Duo platform, optimising its performance. The assessment rubrics will focus on both accuracy and performance: accuracy will be benchmarked using OpenCV’s regression testsuites (build/bin/opencv_test_*); performance will be assessed using OpenCV’s performance testsuites (build/bin/opencv_perf_*). The host will judge based on both the pass rates of regression testsuites and performance metrics, calculated in a pre-determined weighted score scale.

 

  • Rubrics

1. Passes regression testsuites on all OpenCV modules (build/bin/opencv_test_*).

2. Passes perfromance testsuites on all OpenCV modules (build/bin/opencv_perf_*).

3. The host will judge based on both the pass rates of regression testsuites and performance metrics and assign scores to each submission based on a predetermined weighted scale. The highest scoring submission wins.

Assessment Platform: Duo

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


4. Node.js Performance Optimization

 

Index:S2306

Award:20000RMB

 

  • Program Description

Implement bugfixes and optimization on upstream Node.js for RISC-V, as well as platform-specific optimizations for SG2042/Pioneer Box, optimising benchmark results as much as possible.

 

  • Rubrics

1. Use the benchmark testsuite in Node.js’s source tree as the basis for benchmarking, profiling, and optimization.

2. Produce benchmark run results on Node.js v20.10.0, comparing and analysing said results against at least one mainstream platform (ARM64/x86_64) running the same Node.js version.

3. Demo optimization results using node-benchmark-compare.

4. Final results will be assessed in the form of (1) test analysis report, (2) number of testcases successfully optimised, (3) optimization delta of each testcase, and (4) overall optimization delta.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


5. ncnn Porting and Optimization

 

Index:S2310

Award:15000RMB

 

  • Program Description

ncnn is a high-performance neural network compute framework with good RISC-V support. This program assesses the participant’s ability to maximise ncnn performance on a Duo, as benchmarked by its internal performance testsuites.

 

  • Rubrics

1. Does not produce new failures in regression testing.

2. Makes use of RVV0.7, the TPU, and other compute components available on the Duo.

3. Runs as many benchmark models as possible, noting time elapsed for each.

Assessment Platform: Duo

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


6. Baby LLaMA 2 Optimization for Duo (Kids Book Read Aloud)

 

Index:S2311

Award:20000RMB

 

  • Program Description

It is a feat to get Baby LLaMA 2 running on small development boards like the Milk-V Duo. This program aims to improve Baby LLaMA 2 performance on Milk-V Duo, as assessed by tokens processed per second. The participant will make use of lightweight techniques and compiler optimization principles to develop a story-telling robot with support for microphone and command-line input. The demo should output robotic voice via speakers.

 

  • Rubrics

1. Submissions will be evaluated based on both accuracy and performance, each submission will be given the same input and assessed based on reference testsuites for accuracy and performance.

2. Accuracy will be assessed based on a delta difference between submitted output and reference output, evaluating the application of optimization techniques and their effect on the accuracy of model inference. Performance will be assessed based on the number of tokens processed per second.

3. Time elapsed during Text-to-Speech (TTS) computation.

4. The host will assess both accuracy and performance and assign scores to each submission based on a predetermined weighted scale. The highest scoring submission wins.

Assessment Platform: Duo

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


7. OpenHarmony Port and Demonstration on SG2042

 

Index:P2301

Award:20000RMB

 

  • Program Description

Port OpenHarmony to SG2042/Pioneer Box with its graphical environment, along with the ability to browse the Web and perform productivity tasks.

 

  • Rubrics

1. OpenHarmony boots into the graphical environment and powers off reliably; the system should also run for 2 hours without hanging.

2. Runs Firefox or Chromium and plays a video from bilibili’s home page.

3. Runs LibreOffice, edits and plays presentation slides.

4. (Extra Credit) Plays 3D and 2D games.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


8. Binary Translation and Optimization

 

Index:S2302

Award:20000RMB

 

  • Program Description

Using an SG2042/Pioneer Box, run x86 or ARM64 applications using Qemu-like emulators or translators. You may need to implement support for runing Windows applications via Wine. The goal of this program is to optimise binary translation performance as much as possible.

 

  • Rubrics

1. Runs XuanYuan Sword:The Scar of the Sky and other offline games for over 2 hours.

2. Runs Command and Conquer: Red Alert 2OpenRA, or Half-Life: Counter Strike 1.6 and completes a single level.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


9. OpenGauss Database Porting and Optimization

 

Index:S2305

Award:20000RMB

 

  • Program Description

Port OpenGauss to SG2042/Pioneer Box (openEuler recommended, but any Linux distribution is allowed), optimise benchmark results as much as possible.

 

  • Rubrics

1. Produces stability and performance benchmark results from Benchmarkseq-6.0.

2. Instructions for configuration and reproduction.

Assessment Platform: SG2042

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


10. Zephyr Porting and Demo

 

Index:P2307

Award:10000RMB

 

  • Program Description

Port Zephyr to Milk-V Duo, with the ability to interact via serial connection, support for basic peripherals, and the ability to compile sample system and peripheral applications.

 

  • Rubrics

1. Runs basic Zephyr features on Milk-V Duo with support for standard features, such as interrupt processing, task switching, and UART communication.

2. Supports basic peripheral drivers, such as UART, GPIO, I2C, SPI, ADC, and PWM; implement sample applications for each.

3. Supports the mailbox driver; implement sample communication application with the big cores.

4. (Extra Credit) Supports camera (GC2083 recommended).

5. (Extra Credit) Interaction with the big cores using openamp/rpmsg-lite.

Assessment Platform: Duo

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.


11. Xv6 Porting and Demo

 

Index:P2308

Award:20000RMB

 

  • Program Description

Port Xv6 to Milk-V Duo, with the ability to interact via serial connection, support for basic peripherals, and the ability to compile sample system and peripheral applications.

 

  • Rubrics

1. Runs basic Xv6 on Milk-V with support for standard features, such as interrupt processing and UART communication.

2. Supports basic peripheral drivers, such as UART, GPIO, I2C, SPI, ADC, and PWM; implement sample applications for each.

3. (Extra Credit) Supports the mailbox driver; implement sample communication application with the big cores.

Assessment Platform: Duo

 

  • Notice on Intellectual Properties and Open Source Licenses

All program submissions must be open source and committed to a specified repository. The participant(s) (author) holds rights to their work. The host encourages contributing any changes made to the upstream.

Timeline

  • Dec 1, 2023 - Dec 31, 2023: Registration
  • Dec 31, 2023 - Feb 16, 2024: Competition Phase
  • Feb 17, 2024 - Mar 1, 2024: Host's replication of the competition results and announcement of winners Early
  • Apr 2024: First RISC-V Software Porting and Optimization Championship Award Ceremony and RISC-V Technology Seminar

(Specific schedule subject to the official competition website.)

Prizes

Rules

The championship will consist of porting capture-the-flag and optimization sprint events.

 

  • Porting Capture-the-Flag

The porting capture-the-flag event sets a particular software for porting to the RISC-V architecture. In essense, the first team or individual to complete and submit the port wins. The host opens a repository for participant submissions, the first to submit their changes and pass the tests will be made the winner. The code submitted during the event will be copyrighted or attributed to the participating individuals or the open source communities that receives the port. We enourage the participants to contribute their code to the upstream projects.

 

  • Optimization Sprint

The optimization sprint sets a series of evaluation criteria, against which the team or individual’s optimization work will be benchmarked. The teams and individual will optimize a specified project within a set interval and the best benchmarked project wins.

 

Based on the number of participants, the championship will run both individual and team events. For individual events, the participant will complete their work individually and wholly receive any prizes awarded. Events with two or more participants will be listed under the team events category. The team events sets no limit on the number of participants and the teams will decide on their own terms regarding how to split the prizes awarded.

Organizers & Sponsors
icon Host
The PLCT Lab (associated with the Intelligent Software Research Center of the Institute of Software, Chinese Academy of Sciences)
icon Partner
SOPHGO