Open aperdeus opened 1 year ago
possibly fixed in PR #135
can you provide a python simulation driver?
still fails on 4d22ad799fe907618efd65cd2a61139ad55b0d89
REV configuration part of a script:
# Define the simulation components
comp_cpu = sst.Component("cpu", "revcpu.RevCPU")
comp_cpu.addParams({
"verbose": verbose_level, # Verbosity
"numCores": HART, # Number of cores
"clock": "1.0GHz", # Clock
"memSize": 1024*1024*1024, # Memory size in bytes
"machine": "[CORES:RV64IMAFD]", # Core:Config;
"startAddr": ep, # Starting address for cores
"memCost": "[0:1:10]", # Memory loads required 1-10 cycles
"program": program, # Target executable
"splash": 0, # Display the splash message
"args": rev_exe_args
})
Note, HART is equal to 3, ep = entry point for the following functions: main, fix_stack_1, fix_stack_2.
Issue Description: The amoadd.d.aqrl instruction appears to be malfunctioning, specifically when used in the code segment provided below. This issue manifests in the context of a barrier utilizing atomic operations. When this code is executed, it fails to function correctly, likely due to a problem with the amoadd.d.aqrl operation.
To Reproduce: Environment: sst --version SST-Core Version (-dev) sst-config --CXX g++ sst-config --ELEMENT_CXXFLAGS -std=c++17 -fPIC -DHAVE_CONFIG_H -I/home/aperdeus/git/sst-core/build/../sst-core-install/include REV: devel (4a724e2edaaaab80396c05f97551cbebe2e436a3) REV compiled with: g++ compiler: clang (intel)
To reproduce this issue, please follow the steps below:
Additional Information: It's worth noting that the provided code has been successfully tested on X86 and RISCV qemu, where it passes without encountering any issues. However, when running it on REV, the problem becomes evident.