Skip to content

DRAMatic Speedup: Accelerating HE Operations on a Processing-in-Memory System

Notifications You must be signed in to change notification settings

UzL-ITS/DRAMatic-Speedup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

DRAMatic

This is the source code of the work from the paper "DRAMatic Speedup: Accelerating HE Operations on a Processing-in-Memory System".

Structure

The project is split between code running on the DPUs and code running on the host (the CPU). Only some definition and configuration files are shared.

  • dpu/ contains code for the DPUs.
  • host/ contains code for the host, as well as test results and plots.
  • shared/ contains shared definitions.

The host files are additionally split:

  • host/compare-seal-dpu/ is the main implementation of DRAMatic (the path is for historical reasons).
  • host/ contains some additional tests and low-level comparisons.

Compiling

The DPU code can be compiled by running dpu/do_build or dpu/do_build_tests, which also compiles tests. You will need to install the UPMEM SDK to get the dpu-upmem-dpurte-clang compiler.

The host implementation is build using CMake:

cd host/compare-seal-dpu
cmake -S . -B build
cmake --build build

We recommend using CC=clang, CXX=clang++.

Depending on how you installed the UPMEM SDK, you might have to set UPMEM_HOME by running upmem-sdk/upmem_env.sh (see SDK documentation). Depending on how you installed SEAL, you might have to set SEAL_DIR, e.g. export SEAL_DIR=/home/<USERNAME>/install/lib/cmake/SEAL-4.1.

Running

The DPU binaries cannot be run directly. They must either be loaded by a host program or run with the debugger, e.g. lldb dpu/out/benchmark_muls. See the source files for details.

The main binary of DRAMatic is host/compare-seal-dpu/build/benchmark. It can test both SEAL and DRAMatic. See the source file for details.

About

DRAMatic Speedup: Accelerating HE Operations on a Processing-in-Memory System

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published