https://github.com/seissol/gemmforge
https://github.com/seissol/gemmforge
Last synced: 11 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/seissol/gemmforge
- Owner: SeisSol
- License: mit
- Created: 2020-05-05T18:28:48.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-10-04T10:36:55.000Z (over 1 year ago)
- Last Synced: 2025-06-26T13:47:56.052Z (12 months ago)
- Language: Python
- Size: 2.05 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
## GPU-GEMM generator for the Discontinuous Galerkin method
## Installation
#### For users
```console
pip3 install gemmforge
```
#### For developers
```console
git clone https://github.com/ravil-mobile/gemmforge.git gemmforge
cd gemmforge
pip3 install -e .
```
## Usage
```python
from gemmforge import DenseMatrix, GenerationError, GemmGenerator
from gemmforge.vm import vm_factory
mat_a = DenseMatrix(num_rows=56,
num_cols=9,
addressing="strided",
bbox=[0, 0, 56, 9])
mat_b = DenseMatrix(num_rows=9,
num_cols=9,
addressing="strided",
bbox=[0, 0, 9, 9])
mat_c = DenseMatrix(num_rows=56,
num_cols=9,
bbox=[0, 0, 56, 9],
addressing="strided")
try:
vm = vm_factory(arch="sm_60", backend="cuda", fp_type="float")
gen = GemmGenerator(vm)
gen.set(False, False, mat_a, mat_b, mat_c, alpha=1.1, beta=1.1)
gen.generate()
print(gen.get_kernel())
print(gen.get_launcher())
print(gen.get_launcher_header())
except GenerationError as err:
print(f'ERROR: {err}')
raise err
```