mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=./install_dir -DCMAKE_BUILD_TYPE=Release -G Ninja
# Use ccmake to tweak options
ninja install
The library and the header file can be found under build/install_dir
afterwards.
Note: do not run make
separately, due to the limit of the current build
system, make install
will run the whole build process unconditionally.
hipcc
in/opt/rocm/bin
, as a part of ROCmcmake
ninja
The kernel definition for generation is done in rules.py. Edits to this file are needed for each new kernel, but it is extensible and generic.
Include files can be added in this directory.
The final build output is an archive object file any new project may link against.
The archive file and header files are installed in the path specified by CMAKE_INSTALL_PREFIX.
Currently the first kernel supported is FlashAttention as based on the algorithm from Tri Dao.
PyTorch recently expanded AOTriton support for FlashAttention. AOTriton is consumed in PyTorch through the SDPA kernels. The Triton kernels and bundled archive are built at PyTorch build time.