tud-zih-energy / FIRESTARTER

FIRESTARTER: A Processor Stress Test Utility. This repository contains the source code generator. Our releases (including the generated source code and precompiled binaries) are available at https://tu-dresden.de/zih/firestarter/.
GNU General Public License v3.0
115 stars 24 forks source link

Support for ARM64 Architecture #61

Open nicolas-tallet opened 1 month ago

nicolas-tallet commented 1 month ago

I don't seem to be able to compile FIRESTARTER on a CG4-based system with ARM64 processors. Is it planned to have ARM64 support anytime soon?

hoehlig commented 1 month ago
FIRESTARTER/include/firestarter/Firestarter.hpp", line 134: catastrophic error: #error directive: "FIRESTARTER is not implemented for this ISA"
  #error "FIRESTARTER is not implemented for this ISA"
   ^
rschoene commented 3 weeks ago

Hi, we opened a branch. But we use an external repository named asmjit to create the executed workload on runtime. To create a reasonable stress workload for FIRESTARTER, we would need asmjit to support the SVE extensions. If you (or your company) has some money to spare, please reach out to the developer. Here is how: https://kobalicek.com/services.html

rschoene commented 3 weeks ago

In the current branch, there is a first draft for a NEON-based workload. It is based on the SSE2 workload, not polished and needs to be cleaned up, but it should run. Since it only uses a small part of the processor (NEON Add), do not expect a high power consumption.

nicolas-tallet commented 1 week ago

Thanks @rschoene - we are going to give a try to the ARM64 implementation.

rschoene commented 1 week ago

@nicolas-tallet you're welcome. Please remember that FIRESTARTER will not lead to a very high power consumption. Since, you know, the missing SVE and stuff. On the plus side, you can create an ARM FIRESTARTER_CUDA.

rschoene commented 1 week ago

@nicolas-tallet @hoehlig i changed the default workload. it should be a bit better now, but still no SVE, hence another pointer to https://kobalicek.com/services.html .