diff --git a/spgemm/README.md b/spgemm/README.md new file mode 100644 index 0000000000000000000000000000000000000000..ef88994a285df8c38633b232d3caf6d2c67e5c1f --- /dev/null +++ b/spgemm/README.md @@ -0,0 +1,10 @@ +CodeVault: Sparse Matrix-Matrix Multiplication +================ +# Overview +Sparse matrix-matrix multiplication (SpGEMM) operation, which involves multiplication of two sparse matrices, is used in solving linear programming problems, molecular dynamics simulations (e.g. CP2K), etc. This folder contains samples for performing SpGEMM. + +# Contributors & Maintainers +- Cevdet Aykanat (aykanat@cs.bilkent.edu.tr) +- Kadir Akbudak (kadir.cs@gmail.com) +- Reha Oguz Selvitopi(reha@cs.bilkent.edu.tr) + diff --git a/spgemm/mkl_shmem/README.md b/spgemm/mkl_shmem/README.md new file mode 100644 index 0000000000000000000000000000000000000000..fea50ae43f8ba6ffa7759abeb71820a161de1153 --- /dev/null +++ b/spgemm/mkl_shmem/README.md @@ -0,0 +1,55 @@ +======= +README +======= +- 1. Code sample name +mklspgemm + +- 2. Description of the code sample package +mklspgemm code performs multiplication of two sparse matrices using MKL's routine mkl_dcsrmultcsr() on a multicore processor. + +MKL library is required. + +This is one of the code sample from the PRACE CodeVault. You can find more code samples available for download from the PRACE CodeVault here: https://gitlab.com/PRACE-4IP/CodeVault + +- 3. Release date +26 January 2016 + +- 4. Version history +1.0: initial version + +- 5. Contributor (s) / Maintainer(s) +Kadir Akbudak + +- 6. Copyright / License of the code sample +Apache 2.0 + +- 7. Language(s) +C + +- 8. Parallelisation Implementation(s) +Parallelism is provided by MKL. + +- 9. Level of the code sample complexity +new starts + +- 10. Instructions on how to compile the code +cmake . +make + +- 11. Instructions on how to run the code +./mklspgemm test.mtx test.mtx out.mtx 2 PRINT_YES +1. ./mklspgemm : Executable +2. test.mtx : First input matrix +3. test.mtx : Second input matrix +4. out.mtx : Output matrix +5. 2 : Number of threads +6. PRINT_YES : Print matrices to stdout + +- 12. Sample input(s) +test.mtx contains a small square matrix in Matrix Market format [1] + +- 13. Sample output(s) +Prints timing information to output. + +REFERENCES: +[1] http://math.nist.gov/MatrixMarket/formats.html diff --git a/spgemm/mkl_xphi/README.md b/spgemm/mkl_xphi/README.md new file mode 100644 index 0000000000000000000000000000000000000000..000310609222a7f89a585adc1c147d2a2af0c1e3 --- /dev/null +++ b/spgemm/mkl_xphi/README.md @@ -0,0 +1,59 @@ +======= +README +======= +- 1. Code sample name +mklspgemm + +- 2. Description of the code sample package +mklspgemm code performs multiplication of two sparse matrices using MKL's routine mkl_dcsrmultcsr() on a Xeon Phi coprocessor. +Offload mode is used. + +MKL library for Xeon Phi is required. Note that MKL library for Xeon Phi is in different from the one for host system. + +This is one of the code sample from the PRACE CodeVault. You can find more code samples available for download from the PRACE CodeVault here: https://gitlab.com/PRACE-4IP/CodeVault + +- 3. Release date +26 January 2016 + +- 4. Version history +1.0: initial version + +- 5. Contributor (s) / Maintainer(s) +Kadir Akbudak + +- 6. Copyright / License of the code sample +Apache 2.0 + +- 7. Language(s) +C + +- 8. Parallelisation Implementation(s) +Parallelism is provided by MKL. + +- 9. Level of the code sample complexity +new starts + +- 10. Instructions on how to compile the code +cmake . +make + +- 11. Instructions on how to run the code +export OFFLOAD_INIT=on_offload;./mklspgemm test.mtx test.mtx out.mtx 2 0 PRINT_YES +1. ./mklspgemm : Executable +2. test.mtx : First input matrix +3. test.mtx : Second input matrix +4. out.mtx : Output matrix +5. 2 : Number of threads +6. 0 : Id of the mic device. It must be a single integer. +7. PRINT_YES : Print matrices to stdout + +export OFFLOAD_INIT=on_offload; starts only on of the mic cards when there are more than one mic card. If you avoid this environment variable, systems tries to start all mic cards so runs on other cards are effected. + +- 12. Sample input(s) +test.mtx contains a small square matrix in Matrix Market format [1] + +- 13. Sample output(s) +Prints timing information to output. + +REFERENCES: +[1] http://math.nist.gov/MatrixMarket/formats.html diff --git a/spmv/mkl_shmem/README.md b/spmv/mkl_shmem/README.md index 4e9f5f5e145ad16c6c1855a1136c4b0aaf18b710..877c818d0a22c35cff0ecb2a24b15c3c31b83c22 100644 --- a/spmv/mkl_shmem/README.md +++ b/spmv/mkl_shmem/README.md @@ -2,47 +2,52 @@ README ======= - 1. Code sample name -mkl_spmv +mklspmv - 2. Description of the code sample package -mkl_spmv code performs multiplication of a sparse matrix with a dense vector using MKL's routine mkl_dcsrmv() on a multicore processor. +mklspmv code performs multiplication of a sparse matrix with a dense vector using MKL's routine mkl_dcsrmv() on a multicore processor. +MKL library is required. -[Please provide a description of this code sample package. The description should include but not limited to: -1) an introduction on the code sample, e.g. what the code does, what the algorithm is used, etc. -2) an introduction on what the code sample package include, e.g. the source code, makefile, example input, example output, etc. -3) If the package does not include everything needed to run the code sample, e.g. some libraries should be downloaded from other sites, please also give the links and appropriate information here. -4) a standard sentence to introduce the PRACE CodeVault and indicate the users can find out other useful code samples from the PRACE CodeVault, e.g. “This is one of the code sample from the PRACE CodeVault. You can find more code samples available for download from the PRACE CodeVault here: (link to the CodeVault repository)”.] +This is one of the code sample from the PRACE CodeVault. You can find more code samples available for download from the PRACE CodeVault here: https://gitlab.com/PRACE-4IP/CodeVault - 3. Release date -[Please give the release date of this code sample package in the CodeVault repository, e.g. 1 December 2015.] +26 January 2016 - 4. Version history -[Please provide the version of this code sample package, e.g. version 1.0. If there is any key updates from the previous versions, some brief updates information should also be given here.] +1.0: initial version - 5. Contributor (s) / Maintainer(s) -[Name(s) and contact(s) of those who contribute this code sample package into the CodeVault repository and who will maintain this code sample package, e.g. if any question is raised for this code sample, who can be contacted and answer the related questions. Format example: John Smith .] +Kadir Akbudak - 6. Copyright / License of the code sample -[The copyright and/or the license information of this code sample package and the code sample included, etc.] +Apache 2.0 - 7. Language(s) -[Please list which languages are used for the code sample implementations included in this code sample package, e.g. C, C++, Fortran, CUDA, OpenCL, etc.] +C - 8. Parallelisation Implementation(s) -[Please list which parallelisation version implementations are include in this code sample package, e.g. serial code, MPI, OpenMP, GPGPU accelerator version, etc.] +Parallelism is provided by MKL. - 9. Level of the code sample complexity -[Please state the level of the code sample complexity and/or which type(s) of users may find this code sample package is helpful, e.g. code sample of basic level, code sample for users as new starts / advanced users / experts, etc.] +new starts - 10. Instructions on how to compile the code -[Please provide detailed information on how to compile the code samples provided in this code sample package.] +cmake . +make - 11. Instructions on how to run the code -[Please provide detailed information on how to run the code samples provided in this code sample package.] +./mklspmv test.mtx 2 PRINT_YES +1. ./mklspmv : Executable +2. test.mtx : Input matrix +3. 2 : Number of threads +4. PRINT_YES : Print input matrix to stdout - 12. Sample input(s) -[Please provide one or more sample input(s) where appropriate that can be used by the users for some example test runs with the code sample.] +test.mtx contains a small matrix in Matrix Market format [1] - 13. Sample output(s) -[Please provide the sample output(s) which is/are expected when the users run the code sample based on the instructions given above.] +Prints timing information to output. + +REFERENCES: +[1] http://math.nist.gov/MatrixMarket/formats.html