diff --git a/README.md b/README.md index 0605bb3201d56f1528614cb384492a1837340fa7..9cb71768cebc5c2669b3362930f8ae84b108f6e8 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,12 @@ In this Sparse Linear Algebra folder, there are sample codes for beginners, as w - Reha Oguz Selvitopi(reha@cs.bilkent.edu.tr) # Contents +- spmv: Multiplication of a sparse matrix with a dense vector. + - mkl_shmem: Using MKL's routine mkl_dcsrmv() on a multicore processor - spgemm: Multiplication of two sparse matrices. - mkl_shmem: Using MKL's routine mkl_dcsrmultcsr() on a multicore processor - mkl_xphi: Using MKL's routine mkl_dcsrmultcsr() via offloading to a Xeon Phi coprocessor + These two codes also contain schoolbook implementation of an SpGEMM algorithm that uses row-by-row formulation [1]. - Krylov Subspace Methods - Linear system solution in parallel - 2D Laplacian (2D mesh) @@ -21,3 +24,7 @@ In this Sparse Linear Algebra folder, there are sample codes for beginners, as w - Solving multiple linear systems - Same cofficient matrix - Different right-hand-side vectors + + +REFERENCES: +[1] Fred G. Gustavson. 1978. Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition. ACM Trans. Math. Softw. 4, 3 (September 1978), 250-269. DOI=http://dx.doi.org/10.1145/355791.355796 diff --git a/spmv/README.md b/spmv/README.md new file mode 100644 index 0000000000000000000000000000000000000000..6e93332eaa39f10c6c76814b1f0ea1df659b1347 --- /dev/null +++ b/spmv/README.md @@ -0,0 +1,10 @@ +CodeVault: Sparse Matrix-Vector Multiplication +================ +# Overview +Sparse matrix-vector multiplication (SpMV) is one of the fundamental kernels in scientific computing. This folder contains samples for performing SpMV. + +# 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/spmv/mkl_shmem/README.md b/spmv/mkl_shmem/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4e9f5f5e145ad16c6c1855a1136c4b0aaf18b710 --- /dev/null +++ b/spmv/mkl_shmem/README.md @@ -0,0 +1,48 @@ +======= +README +======= +- 1. Code sample name +mkl_spmv + +- 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. + + +[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)”.] + +- 3. Release date +[Please give the release date of this code sample package in the CodeVault repository, e.g. 1 December 2015.] + +- 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.] + +- 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 .] + +- 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.] + +- 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.] + +- 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.] + +- 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.] + +- 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.] + +- 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.] + +- 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.] + +- 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.]