We have ported the addition and multiplication routines from SoftPosit as OpenCL kernels. We also created GEMM routines in 32-bit Posit arithmetic. These programs were used for benchmarking in our paper presented at HPC Asia 2024. The paper is also published in arxiv
Part of the code is derived from MPLAPACK.
-
Clone the SoftPosit repository:
$ git clone https://gitlab.com/cerlane/SoftPosit.git
-
Apply the patch and build SoftPosit:
$ cd SoftPosit $ patch -p1 < ../SoftPosit.patch $ cd build/Linux-x86_64-GCC $ make $ cd ../../..
-
Build the project:
$ make
All programs use GEMM routines in 32-bit Posit arithmetic. You can specify the blocking size for the GEMM routines through an environment variable.
Example of setting the block size to 16:
$ export OPENCL_GEMM_BLOCKSIZE=16The performance of all programs can vary slightly depending on the blocking size.
- run_gemm
- run_gemm_trailing
- run_lu
- run_lu_bench
- run_lu_check
- run_lu_power_bench
- run_cho
- run_cho_bench
- run_cho_check
@inproceedings{10.1145/3635035.3635046,
author = {Nakasato, Naohito and Murakami, Yuki and Kono, Fumiya and Nakata, Maho},
title = {Evaluation of POSIT Arithmetic with Accelerators},
year = {2024},
isbn = {9798400708893},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3635035.3635046},
doi = {10.1145/3635035.3635046},
booktitle = {Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region},
pages = {62–72},
numpages = {11},
location = {Nagoya, Japan},
series = {HPCAsia '24}
}