GPU-GEMM generator for the Discontinuous Galerkin method
Installation
For users
For developers
git clone https://github.com/ravil-mobile/gemmforge.git gemmforge
cd gemmforge
pip install -e .
Usage
from gemmforge import DenseMatrix, GemmGenerator, GenerationError
from gemmforge import arch
arch = arch.produce("nvidia", "sm_60")
mat_a = DenseMatrix(num_rows=56,
num_cols=9,
addressing="strided",
bbox=[0, 0, 55, 8],
transpose=False)
mat_b = DenseMatrix(num_rows=9,
num_cols=9,
addressing="strided",
bbox=[0, 0, 8, 8],
transpose=False)
mat_c = DenseMatrix(num_rows=56,
num_cols=9,
bbox=[0, 0, 55, 8],
addressing="strided",
transpose=False)
try:
gen = GemmGenerator(arch, "float")
gen.generate(mat_a, mat_b, mat_c, alpha=1.1, beta=1.1)
print(gen.get_kernel())
print(gen.get_launcher())
print(gen.get_launcher_header())
except GenerationError as err:
print("ERROR: {}".format(err))
raise err