Skip to content

Commit f4e8c38

Browse files
hfpalazzaro
authored andcommitted
Removed predictive modeling and related documentation
- See issue #837
1 parent 05ea99d commit f4e8c38

23 files changed

+6
-4881
lines changed

docs/guide/3-developer-guide/3-programming/2-accelerator-backend/2-libsmm_acc/2-parameters.md

-6
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,3 @@ The batched matrix-matrix multiplication kernels are templated on:
1414
The batched transpose kernels are templated on:
1515

1616
* the characteristic dimensions of the transpose: `m, n`
17-
18-
## Predictive parameters
19-
20-
The input features for the predictive models can be 'raw' parameters (left-most-column in the figure below), or hand-engineered features 'derived' from the raw features (matrix sizes, launch parameters and resource usage estimations).
21-
22-
![libsmm_acc_predictive_modeling_features](../../../../../media/images/libsmm_acc_predictive_modeling_features.png)

docs/guide/3-developer-guide/3-programming/2-accelerator-backend/2-libsmm_acc/4-predict.md

-3
This file was deleted.

docs/guide/3-developer-guide/3-programming/2-accelerator-backend/2-libsmm_acc/5-notebooks.md

-3
This file was deleted.

docs/media/images/README.md

-3
This file was deleted.
Binary file not shown.

docs/media/images/libsmm_acc_predictive_modeling_features.xml

-1
This file was deleted.

src/acc/libsmm_acc/README.md

+5-13
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,10 @@ For a description of the library (some details are outdated, but this neverthele
1212

1313
## Directory Organization
1414

15-
- [`kernels/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/kernels/): GPU kernels (CUDA- and HIP-compatible) for matrix-matrix multiplication and python interface to autotuning and predictive code.
16-
- [`notebooks/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/notebooks/): jupyter notebooks for exploring data generated from autotuning and prediction.
15+
- [`kernels/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/kernels/): GPU kernels (CUDA- and HIP-compatible) for matrix-matrix multiplication and Python interface to autotuning code.
1716
- `generate_*.py`: utility scripts for `libsmm_acc` compilation
1817
- `libsmm_acc*`: libsmm_acc C++ and CUDA / HIP code
19-
- [`parameters/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/parameters/): contains `parameters_GPU.json` files. These are sets of matrix-matrix multiplication parameters for different (m, n, k)-triplets optimized for a given GPU card. You can explore these parameters interactively using the [provided jupyter notebook](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/notebooks/inspect_autotuned_parameters.ipynb)
20-
- [`predict/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/predict/): scripts for prediction of optimal parameter sets, see [predictive modeling of kernel parameters](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/predict/README.md)
18+
- [`parameters/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/parameters/): contains `parameters_GPU.json` files. These are sets of matrix-matrix multiplication parameters for different (m, n, k)-triplets optimized for a given GPU card.
2119
- [`tune/`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/tune/): scripts for autotuning of optimal parameter sets, see [autotuning of kernel parameters](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/tune/README.md)
2220

2321
## Matrix-matrix Multiplication Kernels and Parameters
@@ -46,7 +44,7 @@ which take between 3 - 7 **parameters** (see figure at the top):
4644
- **w**: input slab width (width of slab `P_A` and `P_B`)
4745
- **v**: output slab width (width of slab `P_C`)
4846

49-
The performance of the matrix-matrix multiplication kernels is highly dependent on the choice of algorithm and parameters. For this reason, `libsmm_acc` provides lists of optimal parameters for different GPU cards and different (m, n, k)-triplets. These sets of optimal parameters can be found either through *autotuning* or *predictive modeling*.
47+
The performance of the matrix-matrix multiplication kernels is highly dependent on the choice of algorithm and parameters. For this reason, `libsmm_acc` provides lists of optimal parameters for different GPU cards and different (m, n, k)-triplets.
5048

5149
## Contributing to libsmm_acc
5250

@@ -56,19 +54,13 @@ We expect users to contribute to the library by providing new optimized kernels
5654

5755
Follow the [autotuning procedure](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/tune/README.md)
5856

59-
#### Predictive modeling of kernel parameters
60-
61-
Follow the [predictive modeling procedure](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/predict/README.md)
62-
6357
#### Adding a new kernel
6458

6559
1. Choose a kernel `name`
6660

6761
2. Add the kernel's code (must be able to compile by both `nvcc` and `hip`) in file `kernels/smm_acc_dnt_name.h`
6862

69-
3. Add python kernel class inheriting from base class `kernels/smm_acc_dnt_name.py`
70-
71-
4. Add the new kernel to the `kernel_algorithm` data structure in [`kernels/smm_acc_predict.py`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/kernels/smm_acc_predict.py)
63+
3. Add Python kernel class inheriting from base class `kernels/smm_acc_dnt_name.py`
7264

7365
#### Adding support for a new GPU card
7466

@@ -85,4 +77,4 @@ Follow the [predictive modeling procedure](https://github.com/cp2k/dbcsr/blob/de
8577
}
8678
```
8779

88-
then add matrix-matrix multiplication parameters for this GPU using *autotuning* and *predictive modeling*
80+
then add matrix-matrix multiplication parameters for this GPU using *autotuning*.

src/acc/libsmm_acc/kernels/README.md

-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@
1414

1515
* `smm_acc_dnt_ALGORITHM.h` Batched Multiply Kernel CUDA/HIP code
1616

17-
* [`smm_acc_predict.py`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/kernels/smm_acc_predict.py) Class and helper functions for parameter prediction procedure
18-
1917
* [`smm_acc_transpose.h`](https://github.com/cp2k/dbcsr/blob/develop/src/acc/libsmm_acc/kernels/smm_acc_transpose.h) Transpose CUDA/HIP code
2018

2119
## Batched Multiplication Kernels

src/acc/libsmm_acc/notebooks/README.md

-12
This file was deleted.

src/acc/libsmm_acc/notebooks/inspect_autotuned_parameters.ipynb

-280
This file was deleted.

0 commit comments

Comments
 (0)