Reputation:
I have noticed that the following site provides performance graphs for various kinds of computations (including arrays, FFTs, parallels, etc, etc,...)
Chapel Performance Graphs for chapcs
For example, the graph for "2D Array Assignment" gives the following:
I am wondering whether this is mainly for the internal use only (by the Chapel developers) or the test codes are public for the users as well (for trying to run them on local machines). Also, I think they might be very nice to learn good idioms to get higher performance for some tasks...
Thanks in advance!
Upvotes: 2
Views: 100
Reputation: 381
The source code for all Chapel performance tests is public (and generally speaking almost all Chapel development and code is public.) You can find the tests in the github repository: https://github.com/chapel-lang/chapel/tree/master/test
Matching the graph name to the test isn't always easy. Typically what I'd do for something like this is clone the repo and do git grep "2D Array Assignment" -- test
. That will tell you that the .graph file associated with this test is test/performance/sungeun/assign.1024.graph
, and normally (though not always) the test name has a similar basename. In this case the test is test/performance/sungeun/assign.chpl
.
You can run performance tests using start_test by doing something like start_test --performance test/performance/sungeun/assign.chpl
and results will be in test/perfdat/$HOSTNAME
with the graphs being in an html subdirectory
While the graphs and testing infrastructure are public, they are geared towards developers and many aspects of the testing system aren't always very intuitive or polished for "end users". https://github.com/chapel-lang/chapel/tree/master/doc/rst/developer/bestPractices/TestSystem.rst is a rather sprawling document that has more information on the testing infrastructure
Upvotes: 2