OpenMP Run-Time Error Detection Test Suite v1.0 Release Notes Oct. 13, 2006 Purpose: -------- Programmer productivity can be enhanced greatly by a system with the ability to detect run-time errors when they occur and provide helpful messages. The worst case is when the error could have been detected but wasn't, and the program keeps running and produces incorrect output. These tests were created to test the ability of a compiler and run-time system to detect run-time errors in OpenMP programs and to provide adequate information to correct the error. Design: ------- Runtime errors related to OpenMP routines which should be detected by the run-time system were identified and written in the three languages C, C++ and Fortran. For each language, these errors were grouped into sections, and tests were written which exhibited the given errors in different contexts. A Bourne shell script named run_all_tests was written which 1) runs all the tests in a language, 2) checks each test for a pass at 5 levels A through E, 3) reports the number of passes at each level for each section, and 4) produces a grade for that language based on a five point scale E=1, A=5. "Ideal" messages are provided (with extension .ok_msg) to provide an example of the desired message for a pass at the A level. Download: --------- Test are available in either .tar.gz or .tar format at: http://rted.public.iastate.edu/OpenMP/tests.html Running: -------- After download, issue either tar -zxf RTED_OpenMP.tar.gz or tar -xf RTED_OpenMP.tar as appropriate to get a directory named RTED_OpenMP. In RTED_OpenMP, go to the appropriate language directory and edit the file called CONFIGURATION. Several examples are included which can be copied and edited as needed. Setting the TOOL variable in the CONFIGURATION file allows for running the OpenMP programs under a non-interactive command line tool whose purpose is to detect and report OpenMP run-time problems. (The TOOL variable can also be used which require a launcher, e.g. Cray Systems which use aprun to run applications.) The tests create at most 4 OpenMP threads. Issue : ./run_tests_all This may take several minutes to several hours depending upon the system. Examining output from a test: ----------------------------- Actual error messages for a language/section/test are stored in language/section/RESULTS/testname.error and a sample of a desired message is in language/section/RESULTS/testname.ok_msg. These can be shown easily by issuing: (cd language/section/ ; ../chk testname) Version Information: --------------------- This is version 1.0 which is the initial release.