New thorn MemSpeed

Create issue
Issue #1388 closed
Erik Schnetter created an issue

I have written a thorn MemSpeed, available at This thorn is useful for performance tuning. I propose to add it to CactusUtils.

From the README:

Determine the speed of the CPU, as well as latencies and bandwidths of caches and main memory. These provides ideal, but real-world values against which the performance of other routines can be compared.


Comments (8)

  1. Erik Schnetter reporter
    • changed status to open
    • removed comment

    This thorn is in the repository, but not part of the EinsteinToolkit. I propose to add it to the Einstein Toolkit.

  2. Ian Hinder
    • changed status to open
    • removed comment

    This seems like a useful thorn to have available. Some comments:

    1. The name "MemSpeed" seems to be historical; the thorn measures both CPU and memory speeds. Maybe "HWSpeed" or "HWPerf" might be better? If it is to be renamed, now seems like a good time, before it is in the official thornlist. (optional)
    2. There is extensive documentation (thanks!)
    3. There is a test case. Am I correct that this test is safe to run as part of the automated tests? It says to skip the large memory benchmark. Does that mean it should be fast enough to run?
    4. I have skimmed through the code and didn't notice any major issues

    I support inclusion in the toolkit as long as the default test case does not require large amounts of time or memory.

  3. Erik Schnetter reporter
    • removed comment
    1. The majority of the tests are for memory performance; the other tests are just small add-ons.

    2. Yes, the test case should be safe to run. You can run multiple tests simultaneously on the same node. In fact, if the test case takes a long time to run, then this indicates a problem (e.g. wrong OpenMP configuration). The standard test (without disabling the large- memory test) can only run once simultaneously per node, and is useful only on compute nodes of clusters.

  4. Log in to comment