1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
The GA Test Programs
~~~~~~~~~~~~~~~~~~~~
These programs can be built after the GA library is configure and compiled.
To build C and Fortran programs type:
"make checkprogs"
:test.x: general test program for GA
:patch.x: tests GA patch operations
:testsolve.x: tests linear equation solver based on LU factorization
:testeig.x: tests GA eigensolver, matrix multiply, and symmetrization
:ndim.x: Fortran test program for n-dim GA
:perf.x: tests performance of GA primitives: get, put, accumulate
:testc.x: C test program for GA
:ntestc.x: C test program for n-dim GA
:ga-mpi.x: C test program for GA that demonstrates the interface to MPI
:mtest.x: test program for matrix functions
:testmult.x: test program for GEMM functions (Eg:dgemm).
:elempatch.x: test program for the element-wise functions
M4-based N-dim test program
===========================
The following are special steps required to configure and build source file
for testing of n-dim global arrays based on the M4 source files.
The full functionality test might take several hours to complete. Therefore
you might want to limit the test to a subset of functionality supported.
The configuration steps are:
Edit the file ngatest.m4 (this step is optional if you want to test all):
1. Specify data type:
- To test Integer, set "m4_test_int" to "yes", otherwise, "no"
- To test Double Precision, set "m4_test_dbl" to "yes", otherwise, "no"
- To test Double Complex, set "m4_test_dcpl" to "yes", otherwise, "no"
2. Specify range of dimensions to test (upt 7 supported in GA Fortran API):
Example: to test from 2 to 4 dimensions, set "m4_dim_from" to 2 and
"m4_dim_to" to 4
3. Specify functions to test:
Functions that can be tested include:
- ga_fill Set "m4_test_GA_FILL" to "yes" to test
- nga_get Set "m4_test_NGA_GET" to "yes" to test
- nga_put Set "m4_test_NGA_PUT" to "yes" to test
- nga_acc Set "m4_test_NGA_ACC" to "yes" to test
- nga_scatter Set "m4_test_NGA_SCATTER" to "yes" to test
- nga_gather Set "m4_test_NGA_GATHER" to "yes" to test
- nga_fill_patch Set "m4_test_NGA_FILL_PATCH" to "yes" to test
- nga_copy_patch Set "m4_test_NGA_COPY_PATCH" to "yes" to test
- nga_scale_patch Set "m4_test_NGA_SCALE_PATCH" to "yes" to test
- nga_add_patch Set "m4_test_NGA_ADD_PATCH" to "yes" to test
- nga_idot_patch Set "m4_test_NGA_DOT_PATCH" to "yes" to test
- nga_ddot_patch Set "m4_test_NGA_DOT_PATCH" to "yes" to test
- nga_zdot_patch Set "m4_test_NGA_DOT_PATCH" to "yes" to test
Setting any variable to "no" will bypass testing the corresponding function
To compile, type "make global/testing/ngatest.x" from the top-level.
Source files:
- ngatest.m4
- ngatest_src/ndim.src
- ngatest_src/ndim_main.src
- ngatest_src/ndim_GA_FILL.src
- ngatest_src/ndim_NGA_GET.src
- ngatest_src/ndim_NGA_PUT.src
- ngatest_src/ndim_NGA_ACC.src
- ngatest_src/ndim_NGA_SCATTER.src
- ngatest_src/ndim_NGA_GATHER.src
- ngatest_src/ndim_NGA_FILL_PATCH.src
- ngatest_src/ndim_NGA_COPY_PATCH.src
- ngatest_src/ndim_NGA_SCALE_PATCH.src
- ngatest_src/ndim_NGA_ADD_PATCH.src
- ngatest_src/ndim_NGA_DOT_PATCH.src
|