Skip to content
Snippets Groups Projects

Using HPVM

The below benchmarks are provided with HPVM, along with a template Makefile for user projects. In order to be able to build the existing benchmarks, a new Makefile.config must be created in include based on the existing Makefile.config.example. This configuration file must set up the following paths:

  • LLVM_BUILD_DIR: should point to your local build directory of HPVM.
  • CUDA_PATH: should point to your local CUDA installation.

Parboil

Several tests from the parboil suite have been ported to HPVM. To run one of these tests, navigate to its directory under parboil/benchmarks/. Tests may be built for the cpu or gpu with hpvm.

# sgemm example
cd parboil/benchmarks/sgemm
# HPVM cpu
make TARGET=seq VERSION=hpvm
make run TARGET=seq VERSION=hpvm
# HPVM gpu
make TARGET=gpu VERSION=hpvm
make run TARGET=gpu VERSION=hpvm

Harvard Camera Pipeline (HPVM-CAVA)

Instructions for HPVM-CAVA are provided in the following README

Pipeline

make TARGET={seq, gpu}
 ./pipeline-{seq, gpu} datasets/formula1_scaled.mp4

Your own project

See template/ for an example Makefile and config. Include hpvm.h to use HPVM C api functions, found in the test/include/hpvm.h.