Skip to content

Commit acaefae

Browse files
Cleanup tests / update submodule (#140)
* revert: change matrix size in test * Fixed the wrong results bug in the GPU backend. * add tiled-mm recipe to local repo * tiled-mm 2.3.1 --------- Co-authored-by: Marko Kabic <[email protected]>
1 parent ac34bd2 commit acaefae

File tree

4 files changed

+56
-4
lines changed

4 files changed

+56
-4
lines changed

ci/baseimage.cuda.Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ RUN ldconfig
6363
# create environments for several configurations and install dependencies
6464
RUN spack env create -d /cosma-env-cuda && \
6565
spack -e /cosma-env-cuda add "cosma@master %gcc +cuda +tests +scalapack +shared ^mpich" && \
66-
spack -e /cosma-env-cuda add "tiled-mm@master" && \
66+
spack -e /cosma-env-cuda add "tiled-mm@2.3.1" && \
6767
spack -e /cosma-env-cuda develop -p /src cosma@master && \
6868
spack -e /cosma-env-cuda install --only=dependencies --fail-fast
6969

@@ -75,7 +75,7 @@ RUN spack env create -d /cosma-env-cuda-gpu-direct && \
7575

7676
RUN spack env create -d /cosma-env-cuda-nccl && \
7777
spack -e /cosma-env-cuda-nccl add "cosma@master %gcc +cuda +tests +scalapack +shared +nccl ^mpich " && \
78-
spack -e /cosma-env-cuda-nccl add "tiled-mm@master" && \
78+
spack -e /cosma-env-cuda-nccl add "tiled-mm@2.3.1" && \
7979
spack -e /cosma-env-cuda-nccl develop -p /src cosma@master && \
8080
spack -e /cosma-env-cuda-nccl install --only=dependencies --fail-fast
8181

spack/packages/tiled-mm/package.py

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other
2+
# Spack Project Developers. See the top-level COPYRIGHT file for details.
3+
#
4+
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
5+
6+
from spack.package import *
7+
8+
9+
class TiledMm(CMakePackage, CudaPackage, ROCmPackage):
10+
"""Matrix multiplication on GPUs for matrices stored on a CPU. Similar to cublasXt,
11+
but ported to both NVIDIA and AMD GPUs."""
12+
13+
homepage = "https://github.com/eth-cscs/Tiled-MM/"
14+
url = "https://github.com/eth-cscs/Tiled-MM/archive/refs/tags/v2.0.tar.gz"
15+
git = "https://github.com/eth-cscs/Tiled-MM.git"
16+
17+
maintainers("mtaillefumier", "simonpintarelli", "RMeli")
18+
19+
license("BSD-3-Clause")
20+
21+
version("master", branch="master")
22+
23+
version("2.3.1", sha256="68914a483e62f796b790ea428210b1d5ef5943d6289e53d1aa62f56a20fbccc8")
24+
version("2.3", sha256="504c6201f5a9be9741c55036bf8e2656ae3f4bc19996295b264ee5e303c9253c")
25+
version("2.2", sha256="6d0b49c9588ece744166822fd44a7bc5bec3dc666b836de8bf4bf1a7bb675aac")
26+
version("2.0", sha256="ea554aea8c53d7c8e40044e6d478c0e8137d7e8b09d7cb9650703430d92cf32e")
27+
28+
variant("shared", default=True, description="Build shared libraries")
29+
variant("examples", default=False, description="Enable examples")
30+
variant("tests", default=False, description="Enable tests")
31+
32+
depends_on("rocblas", when="+rocm")
33+
depends_on("cxxopts", when="+tests")
34+
depends_on("cxxopts", when="+examples")
35+
36+
conflicts("~cuda~rocm")
37+
conflicts("+cuda", when="+rocm")
38+
39+
def cmake_args(self):
40+
args = [
41+
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
42+
self.define_from_variant("TILEDMM_WITH_EXAMPLES", "examples"),
43+
self.define_from_variant("TILEDMM_WITH_TESTS", "tests"),
44+
]
45+
46+
if "+rocm" in self.spec:
47+
args.extend([self.define("TILEDMM_GPU_BACKEND", "ROCM")])
48+
49+
if "+cuda" in self.spec:
50+
args.extend([self.define("TILEDMM_GPU_BACKEND", "CUDA")])
51+
52+
return args

tests/pdgemm.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ INSTANTIATE_TEST_CASE_P(
685685
// matrix dimensions
686686
43176, 217, // matrix A
687687
43176, 217, // matrix B
688-
217, 217, // matrix C
688+
2176, 217, // matrix C
689689

690690
// block sizes
691691
1696, 108, // matrix A

0 commit comments

Comments
 (0)