ProjectPhysX / ProjectPhysX/OpenCL-Benchmark
Question: How to get good AMD CPU results?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 331
- Forks
- 37
- PR merge metrics
- No merged PRs in 30d
Description
Hi,
I REALLY like this benchmark.
So much so that I plan to (most likely) use its results to make roofline plots in an upcoming paper (I will cite it as shown in README).
However, I am having issues getting proper results on AMD CPUs.
I have seen that AMD dropped all official OpenCL support for their CPUs.
I am able to still run the benchmark if I load the Intel OneAPI environment, but I get funky CPU info and the results do not seem right compared to other similar Intel CPUs.
For example, on an EPYC 7742 dual-socket system, it only detects one of the CPUs and says:
-----------------------------------------------------------------------------.
|----------------.------------------------------------------------------------|
| Device ID 0 | AMD EPYC 7742 64-Core Processor |
|----------------'------------------------------------------------------------|
|----------------.------------------------------------------------------------|
| Device ID | 0 |
| Device Name | AMD EPYC 7742 64-Core Processor |
| Device Vendor | Intel(R) Corporation |
| Device Driver | 2024.18.6.0.02_160000 (Linux) |
| OpenCL Version | OpenCL C 3.0 |
| Compute Units | 64 at 0 MHz (32 cores, 0.000 TFLOPs/s) |
| Memory, Cache | 127842 MB, 512 KB global / 32 KB local |
| Buffer Limits | 63921 MB global, 128 KB constant
The 0 MHz is concerning.
Then, the results seem quite a bit slower than they should be:
FP64 compute 0.022 TFLOPs/s (1/64)
For example, on the EPYC 7702P (a slower CPU) with the Ubuntu opencl runtime I get:
| FP64 compute 1.111 TFLOPs/s (1/64) |
but it still reports 0 MHz in the info.
I really like the suggestions for installing the OpenCL runtime that the compilation spits out, but on the supercomputer I cannot install those packages to try the open source OpenCL.
Is there some kind of pre-built OpenCL run time binaries that I could point to that work well on AMD CPUs?
Is there a way to fix the CPU identification to know its AMD not Intel and get the correct mHz?
Thanks!
- Ron
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by reproducing the reported EPYC behavior with the Intel OneAPI and Ubuntu OpenCL runtimes, comparing device detection, CPU frequency, and FP64 results; done means determining whether the discrepancy is in the runtime or benchmark and documenting a concrete path to reliable AMD results.
Written by the indexing model from the issue text.
Assessment
- Domain
- hpc, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100