RIKEN Center for Computational Science Large-scale Parallel Numerical Computing Technology Research Team
TOP > Projects > RpFp

RpFp

Overview

RpFp is a memory accessor for using the reduced-precision formats with truncated mantissa part of the IEEE binary floating-point format (binary32 and binary64). It can represent arbitrary precision in 8-bit steps by combining 8-/16-/32-bit words (uint8/16/32). These arrays are stored in memory in the Structure-of-Arrays (SoA) manner. E.g., for 48-bit, a 32-bit word array and a 16-bit word array are independently allocated in memory, and the structure holds the pointers to them. RpFp is written in C++ and has the CPU, CUDA, and HIP versions. They have been tested on x86 and NVIDIA and AMD GPUs.
This package contains the codes to obtain the results reported at MCSoC 2023 (see Publications below). It contains not only RpFp itself (in rpfp directory) but also example implementations of linear algebra kernels using RpFp (AXPY and CSRMV in rpfp-la directory and AMBMV in nsparse directory). AMBMV is a sparse matrix-vector product based on Adaptive Multi-level Blocking (AMB) format developed by Nagasaka et al. (ICCS 2016). Since it was implemented only in CUDA, this package includes a port of it (nspaese 1.5, but SpMV part only) to CPU and HIP with RpFp applied.

Download

Publications


Copyright © 2018-2023 Large-scale Parallel Numerical Computing Technology Research Team, RIKEN Center for Computational Science, All rights reserved.
RIKEN | 理化学研究所
RIKEN Center for Computational Science (R-CCS) | 理化学研究所 計算科学研究センター