Skip to content

FLAME GPU 2.0.0-rc

Pre-release
Pre-release
Compare
Choose a tag to compare
@github-actions github-actions released this 13 Dec 17:25
· 136 commits to master since this release

FLAME GPU 2.0.0-rc is the first release-candidate for FLAME GPU 2.0.0

As a release-candidate the API should be stable, unless any issues are found during the release-candidate phase which require a breaking change to resolve.

There are many significant changes since FLAME GPU 2.0.0-alpha.2, which will require changes to CMakeLists.txt and to models. See the changelog for more detail.

This release-candidate release requires:

  • CMake >= 3.18
  • CUDA >= 11.0 and a Compute Capability >= 3.5 NVIDIA GPU.
  • C++17 capable C++ compiler (host), compatible with the installed CUDA version (i.e VS2019+, or GCC >= 8.1)
  • git
  • Python >= 3.7 (optional)

For full version requirements, please see the Requirements section of the README.

Documentation and Support

Installing Pre-compiled Python Binary Wheels

To simplify use of the python binaries, Python wheels are offered with this release.
These are not yet available through a distribution channel.

To install pyflamegpu 2.0.0rc, download the appropriate .whl file for your platform, and install it into your python environment using pip. I.e.

python3 -m pip install pyflamegpu-2.0.0rc0+cuda112-cp39-cp39-linux_x86_64.whl

CUDA 11.0 or CUDA 11.2 (or newer) including nvrtc must be installed on your system containing a Compute Capability 3.5 or newer NVIDIA GPU.

Python binary wheels are available for x86_64 systems with:

  • Linux with glibc >= 2.17 (I.e. Ubuntu >= 13.04, CentOS/RHEL >= 7+, etc.)
  • Windows 10+
  • Python 3.7 - 3.11
  • CUDA 11.0 or 11.2 (for 11.2-11.8)
    • Built with support for Compute Capabilities 35 50 60 70 80
    • CUDA 12.x compatible wheels will be provided by a future release
  • Wheels with visualisation enabled or disabled.
    • Note that Linux wheels do not package shared object dependencies at this time.

Wheel filenames are of the format pyflamegpu-2.0.0rc0+cuda<CUDA>[.vis]-cp<PYTHON>-cp<PYTHON>-<platform>.whl, where:

  • cuda<CUDA> encodes the CUDA version used
  • .vis indicates visualisation support is included
  • cp<PYTHON> identifies the python version
  • <platform> identifies the OS/CPU Architecture

For Example:

  • pyflamegpu-2.0.0rc0+cuda110-cp38-cp38-linux_x86_64.whl is a CUDA 11.0 compatible wheel, without visualisation support, for python 3.8 on Linux x86_64.
  • pyflamegpu-2.0.0rc0+cuda112.vis-cp39-cp39-win_amd64.whl is a CUDA 11.2+ compatible wheel, with visualisation support, for python 3.9 on Windows 64-bit.

Building FLAME GPU from Source

For instructions on building FLAME GPU from source, please see the Building FLAME GPU section of the README.

Known Issues

  • Warnings and a loss of performance due to hash collisions in device code (#356)
  • Multiple known areas where performance can be improved (e.g. #449, #402)
  • Windows/MSVC builds using CUDA 11.0 may encounter errors when performing incremental builds if the static library has been recompiled. If this presents itself, re-save any .cu file in your executable producing project and re-trigger the build.
  • Debug builds under linux with CUDA 11.0 may encounter cuda errors during validateIDCollisions. Consider using an alternate CUDA version if this is required (#569).
  • CUDA 11.0 with GCC 9 may encounter a segmentation fault during compilation of the test suite. Consider using GCC 8 with CUDA 11.0.