Ricks-Lab / benchMT

SETI multi-threaded MB/AP Benchmark Tool
GNU General Public License v3.0
3 stars 1 forks source link
benchmark boinc gpu-computing linux python setiathome

benchMT - SETI multi-threaded MB/AP Benchmark Tool

Download the latest release v1.6.0

This tool will extract the total number of CPU cores/threads and GPU platforms from the user's environment and utilize them in running a list of apps/args specified in the benchCFG file. Using less than the total number of CPU threads can be specified in the command line. This tool will read a list of MB/AP apps/args from the BenchCFG file and search for the specified MB/AP apps in the APP_CPU and APP_GPU directories to validate and determine platform. It will then leverage allocated threads, as specified, to run all benchmark jobs, storing results in the testData directory. Use the --help option to get a description of valid command line arguments. In support of automation, some command line arguments can be specified as modes in the BenchCFG file.

By default, a summary list of all jobs will update in the display as the program progresses. If there are a large number of jobs, then this display may not be useful and the --display_slots option can be used to display the status of each slot as the program progresses. In some cases, there will be too many slots to display, and the --display_compact option can used to further optimize the progress display.

You may need to use the --boinc_home command option to specify the BOINC home directory, which is required, since boinccmd is used. An alternative BenchCFG file can be specified with the command line option --cfg_file filename.

The --lsgpu command option can be used to display information and capability of all installed GPUs. The --purge_kernels can be used to purge all compiled kernels from the benchMT working directory.

All WUs in the WU_test directory will be used in the creation of jobs to be run, unless the --std_signals option is used, in which case, WUs in the WU_std_signal will be used. The APPS_GPU and APPS_CPU directories can have more apps than are specified to run in the BenchCFG file, but must contain apps specified in BenchCFG. The APPS_REF directory must contain a single CPU reference app with a file prefix of "ref-cpu.". The stock CPU app is suggested, as this is only used to test integrity of the results. Elapsed time analysis is expected to be limited to apps/arg combinations specified in BenchCFG. The generation of reference results can be skipped with the --no_ref option or forced with the --force_ref option. The --energy option can be used if your system has amdgpu drivers with compatible GPUs to give the energy used in running a task. In order to correctly associate a GPU card number with a BOINC device number, you must specify this with the --devmap B:C,B2:C2 option. I know of no robust way to make this mapping other than manually running each card individually and observing which card is being used. If you are running an AstroPulse app, you must specify the --astropulse option in order for it to run properly.

The results will be stored in a unique subdir of the testData directory. There is an overall run log txt file, a psv file useful for importing into an analytics tools, and the sah and stderr files for each job run. A run name can be specified with the --run_name command line option. This name will be included in the name of the testData subdirectory for the current run.

New in this Release - v2.0.0

Development Plans and Known Limitations

History

New in Previous Release - v1.6.0

New in Previous Release - v1.5.0

New in Previous Release - v1.4.0

New in Previous Release - v1.3.0

New in Previous Release - v1.2.0

New in Previous Release - v1.1.0