andrewt0301 / ejudge-riscv-rars-support

RARS RISC-V emulator support for EJudge contest management system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ejudge-riscv-rars-support

RARS RISC-V CPU Simulator support for EJudge contest management system

  1. Preparations:
    1. Download RARS Simulator .jar file and install java runtime
    2. Create rars symlink (rars-simulator) for EJudge, e.g.: sudo ln -s '/home/ejudge/rars_1.5.jar' /usr/local/bin/rars-simulator
  2. EJudge integration:
    • Put both *.in files in $EJUDGE_PREFIX/libexec/ejudge/lang in (e.g. /home/ejudge/inst-ejudge/libexec/ejudge/lang/in) and run ejudge-setup
    • Or put both *.in files in /home/ejudge/compile/scripts/in and run ejudge-configure-compilers.
  3. Update EJudge limits (because RARS is java-based simulator), e.g. for /home/judges/000001/conf/serve.cfg set:
[problem]
max_vm_size = 64G
max_stack_size = 64G
max_file_size = 64G
time_limit = 10
  1. References:
  2. Some known issues:
    • RARS executes .asm files without this extention incorrectly (e.g. no user input). Maybe they are treated as binary/compiled files?
    • No built-in way in RARS to disable 1st (copyright) & last (exit type) output lines to stdio. Workround is used for now.
    • RARS syscall for reading int's (and other numbers) - no EOF handling

About

RARS RISC-V emulator support for EJudge contest management system

License:MIT License


Languages

Language:Shell 100.0%