<- Back to overview

Getting Started

This page provides a short guide to setting up HASEonGPU and choosing the interface that best fits your workflow.

HASEonGPU supports multiple usage paths:

Repository Setup

Clone the repository from GitHub:

git clone https://github.com/computationalradiationphysics/haseongpu.git
cd haseongpu

Dependencies

Required software:

  • cmake >= 3.0.1

  • gcc >= 11

  • cuda >= 11.0

Optional software and tools:

  • OpenMPI >= 4.0

  • Python >= 3.10

  • MATLAB or Octave

  • ParaView for visualization of .vtk output

Hardware requirements:

  • NVIDIA GPU with CUDA support

  • For GPU execution, a CUDA-capable device is required

Additional Notes

For Windows-specific installation notes [deprecated], see Windows Notes.

Compilation Notes

A manual compilation step is available, but is not required for every workflow.

For example, when using the Python interface, the C++ backend is built under the hood during installation. For details on manual compilation, see Compilation.

Choose an Interface

Python Interface

The Python interface is the recommended starting point for most new users. It provides a library call that can be easily integrated into custom workflows. Additionally, the provided examples demonstrate this usage.

Continue with Python Interface.

Binary Interface

The binary interface is useful if you want to run HASEonGPU directly from the command line, or use it as an entry point for constructing a custom API call.

Continue with Binary Interface.

MATLAB Interface

The MATLAB-compatible interface is mainly intended for existing MATLAB or Octave workflows. If you are starting a new workflow, the Python interface is usually the better choice.

Continue with MATLAB Interface.

Typical Workflow

A typical HASEonGPU setup consists of the following steps:

  1. Clone the repository

  2. Install the required dependencies

  3. Decide which interface to use

  4. Follow installation steps provided on the page of the chosen interface

  5. In order to verify your current setup run one of the provided interface-specific examples

  6. Use HASEonGPU in your own workflow

Next Step

Proceed to one of the interface pages listed above, depending on how you want to use HASEonGPU.