Skip to content

Commit

Permalink
Updated README, ATTRIBUTIONS and the version.
Browse files Browse the repository at this point in the history
  • Loading branch information
Marko Kabic committed May 26, 2021
1 parent 8974f2a commit 18f1cdc
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 9 deletions.
15 changes: 8 additions & 7 deletions ATTRIBUTIONS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
# COSMA Attributions:

COSMA uses the following external projects:
- [grid2grid](https://github.com/kabicm/grid2grid): used for transforming between different grid-like data layouts (initial distributions of matrices over MPI ranks). Licenced under the [BSD-3-Clause Licence](https://github.com/kabicm/grid2grid/blob/master/LICENCE).
- [Tiled-MM](https://github.com/kabicm/Tiled-MM): used for performing `dgemm` calls with the GPU-backend. Licenced under the [BSD-3-Clause Licence](https://github.com/kabicm/Tiled-MM/blob/master/LICENCE).
- [semiprof](https://github.com/bcumming/semiprof): used for profiling the code. Licenced under the [BSD-3-Clause Licence](https://github.com/bcumming/semiprof/blob/master/LICENCE).
- [options](https://github.com/kabicm/options): used for parsing the command line options. Licenced under the [BSD-3-Clause Licence](https://github.com/kabicm/options/blob/master/LICENCE).
- [cxxopts](https://github.com/jarro2783/cxxopts): user for parsing the command line options. Licenced under the [MIT Licence](https://github.com/jarro2783/cxxopts/blob/master/LICENSE).
- [googletest](https://github.com/google/googletest): used for unit testing. Licenced under the [BSD-3-Clause Licence](https://github.com/google/googletest/blob/master/LICENSE).
- [gtest_mpi](https://github.com/AdhocMan/gtest_mpi): used as a plugin for googletest adding the MPI support. Licenced under the [BSD-3-Clause Licence](https://github.com/AdhocMan/gtest_mpi/blob/master/LICENSE).
- [COSTA](https://github.com/eth-cscs/COSTA): used for transforming between COSMA and SCALAPACK matrix data layouts and for transposing distributed matrices. Licensed under the [BSD-3-Clause License](https://github.com/eth-cscs/COSTA/blob/master/LICENSE).
- [Tiled-MM](https://github.com/kabicm/Tiled-MM): used for performing `dgemm` calls with the GPU-backend. Licensed under the [BSD-3-Clause License](https://github.com/kabicm/Tiled-MM/blob/master/LICENSE).
- [semiprof](https://github.com/bcumming/semiprof): used for profiling the code. Licensed under the [BSD-3-Clause License](https://github.com/bcumming/semiprof/blob/master/LICENSE).
- [options](https://github.com/kabicm/options): used for parsing the command line options. Licensed under the [BSD-3-Clause License](https://github.com/kabicm/options/blob/master/LICENCE).
- [cxxopts](https://github.com/jarro2783/cxxopts): user for parsing the command line options. Licensed under the [MIT License](https://github.com/jarro2783/cxxopts/blob/master/LICENSE).
- [googletest](https://github.com/google/googletest): used for unit testing. Licensed under the [BSD-3-Clause License](https://github.com/google/googletest/blob/master/LICENSE).
- [gtest_mpi](https://github.com/AdhocMan/gtest_mpi): used as a plugin for googletest adding the MPI support. Licensed under the [BSD-3-Clause License](https://github.com/AdhocMan/gtest_mpi/blob/master/LICENSE).
- [interpose](https://github.com/ccurtsinger/interpose): used for dispatching some of the pxgemm calls to SCALAPACK. Licensed under the [MIT License](https://github.com/ccurtsinger/interpose/blob/master/COPYING.md).

Most of these projects are added as submodules and can be found in the `libs` folder.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ if (${COSMA_BLAS} STREQUAL "MKL" OR ${COSMA_BLAS} STREQUAL "CRAY_LIBSCI")
endif()
endif()

project(cosma VERSION 2.4.0 LANGUAGES CXX C)
project(cosma VERSION 2.5.0 LANGUAGES CXX C)

include(GNUInstallDirs)

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ ENVIRONMENT VARIABLE | POSSIBLE VALUES | DESCRIPTION
`COSMA_GPU_MAX_TILE_M`, `COSMA_GPU_MAX_TILE_N`, `COSMA_GPU_MAX_TILE_K` | integer (`size_t`), by default: **5000** | Tile sizes for each dimension, that are used to pipeline the local CPU matrices to GPU. `K` refers to the shared dimension and `MxN` refer to the dimensions of matrix `C`
`COSMA_GPU_STREAMS` | integer (`size_t`), by default: **2** | The number of GPU streams that each rank should use.
`COSMA_MEMORY_POOL_AMORTIZATION` | real (`double`), by default **1.2** | The growth factor for the memory pool. If equal to 1.2, then 1.2x the requested size is allocated (thus, 20% more than needed). Higher values better amortize the cost of the memory pool resizing which can occur when the algorithm is invoked for different matrix sizes. However, higher amortization values also mean that potentially more memory is allocated than used which can be a problem when the memory resource is tight.
`COSMA_MIN_LOCAL_DIMENSION` | integer (`size_t`), by default: **32** | If any matrix dimension becomes smaller than this threshold (after splitting the matrices among the available MPI ranks), then the actual number of ranks is reduced so that all matrix dimensions stay at or above this limit.
`COSMA_MIN_LOCAL_DIMENSION` | integer (`size_t`), by default: **200** | If any matrix dimension becomes smaller than this threshold (after splitting the matrices among the available MPI ranks), then the actual number of ranks is reduced so that all matrix dimensions stay at or above this limit.
`COSMA_DIM_THRESHOLD` | integer (`size_t`), by default: **200** | In SCALAPACK wrappers, if any matrix dimension is less than this threshold, the problem is considered too small and is dispatched to SCALAPACK for computation. This only affects the SCALAPACK wrappers.

These are all optional parameters. They are used in runtime and hence changing any of those does not require the code to be recompiled.
Expand Down

0 comments on commit 18f1cdc

Please sign in to comment.