Skip to content

Releases: ROCm/rocRAND

rocRAND 4.1.0 for ROCm 7.1.0

30 Oct 05:52

Choose a tag to compare

Resolved issues

  • Updated error handling for several rocRAND unit tests to accomodate the new hipGetLastError behaviour that was introduced in ROCm 7.0.
    As of ROCm 7.0, the internal error state is cleared on each call to hipGetLastError rather than on every HIP API call.

Changed

  • Changed the USE_DEVICE_DISPATCH flag so it can turn device dispatch off by setting it to zero. Device dispatch should be turned off when building for SPIRV.

rocrand 4.0.0 for ROCm 7.0.2

10 Oct 12:12

Choose a tag to compare

rocRAND code for ROCm 7.0.2 did not change. The library was rebuilt for the updated ROCm 7.0.2 stack.

rocrand 4.0.0 for ROCm 7.0.1

17 Sep 16:36

Choose a tag to compare

rocRAND code for ROCm 7.0.1 did not change. The library was rebuilt for the updated ROCm 7.0.1 stack.

rocRAND 4.0.0 for ROCm 7.0.0

16 Sep 06:31

Choose a tag to compare

Added

  • gfx950 support
  • Additional unit tests for test_log_normal_distribution.cpp
  • Additional unit tests for test_normal_distribution.cpp
  • Additional unit tests for test_rocrand_mtgp32_prng.cpp
  • Additional unit tests for test_rocrand_scrambled_sobol32_qrng.cpp
  • Additional unit tests for test_rocrand_scrambled_sobol64_qrng.cpp
  • Additional unit tests for test_rocrand_sobol32_qrng.cpp
  • Additional unit tests for test_rocrand_sobol64_qrng.cpp
  • Additional unit tests for test_rocrand_threefry2x32_20_prng.cpp
  • Additional unit tests for test_rocrand_threefry2x64_20_prng.cpp
  • Additional unit tests for test_rocrand_threefry4x32_20_prng.cpp
  • Additional unit tests for test_rocrand_threefry4x64_20_prng.cpp
  • Additional unit tests for test_uniform_distribution.cpp
  • New unit tests for include/rocrand/rocrand_discrete.h in test_rocrand_discrete.cpp
  • New unit tests for include/rocrand/rocrand_mrg31k3p.h in test_rocrand_mrg31k3p_prng.cpp
  • New unit tests for include/rocrand/rocrand_mrg32k3a.h in test_rocrand_mrg32k3a_prng.cpp
  • New unit tests for include/rocrand/rocrand_poisson.h in test_rocrand_poisson.cpp

Changed

  • Changed the return type for rocrand_generate_poisson for the SOBOL64 and SCRAMBLED_SOBOL64 engines.
  • Changed the unnecessarily large 64-bit data type for constants used for skipping in MRG32K3A to the 32-bit data type.
  • Updated several gfx942 auto tuning parameters.
  • Modified error handling and expanded the error information for the case of double-deallocation of the (scrambled) sobol32 and sobol64 constants and direction vectors.

Removed

  • Removed inline assembly and the ENABLE_INLINE_ASM CMake option. Inline assembly was used to optimizate of multiplications in the Mrg32k3a and Philox 4x32-10 generators. It is no longer needed because the current HIP compiler is able to produce code with the same or better performance.
  • Removed instances of the deprecated clang definition __AMDGCN_WAVEFRONT_SIZE.
  • Removed C++14 support. Beginning with this release, only C++17 is supported.
  • Directly accessing the (scrambled) sobol32 and sobol64 constants and direction vectors is no longer supported. For:
    • h_scrambled_sobol32_constants, use rocrand_get_scramble_constants32 instead.
    • h_scrambled_sobol64_constants, use rocrand_get_scramble_constants64 instead.
    • rocrand_h_sobol32_direction_vectors, use rocrand_get_direction_vectors32 instead.
    • rocrand_h_sobol64_direction_vectors, use rocrand_get_direction_vectors64 instead.
    • rocrand_h_scrambled_sobol32_direction_vectors, use rocrand_get_direction_vectors32 instead.
    • rocrand_h_scrambled_sobol64_direction_vectors, use rocrand_get_direction_vectors64 instead.

Resolved issues

  • Fixed an issue where mt19937.hpp would cause kernel errors during auto tuning.

Upcoming changes

  • Deprecated the rocRAND Fortran API in favor of hipfort.

rocRAND 3.3.0 for ROCm 6.4.4

24 Sep 14:02
3af6291

Choose a tag to compare

rocRAND code for ROCm 6.4.4 did not change. The library was rebuilt for the updated ROCm 6.4.4 stack.

rocRAND 3.3.0 for ROCm 6.4.3

07 Aug 14:20
3af6291

Choose a tag to compare

rocRAND code for ROCm 6.4.3 did not change. The library was rebuilt for the updated ROCm 6.4.3 stack.

rocRAND 3.3.0 for ROCm 6.4.2

21 Jul 16:54
3af6291

Choose a tag to compare

rocRAND code for ROCm 6.4.2 did not change. The library was rebuilt for the updated ROCm 6.4.2 stack.

rocRAND 3.3.0 for ROCm 6.4.1

20 May 13:16

Choose a tag to compare

rocRAND code for ROCm 6.4.1 did not change. The library was rebuilt for the updated ROCm 6.4.1 stack.

rocRAND 3.3.0 for ROCm 6.4.0

11 Apr 13:35
b328dc1

Choose a tag to compare

Added

  • Added extended tests to rtest.py. These tests are extra tests that did not fit the criteria of smoke and regression tests. These tests will take much longer to run relative to smoke and regression tests. Use python rtest.py [--emulation|-e|--test|-t]=extended to run these tests.
  • Added regression tests to rtest.py. These tests recreate scenarios that have caused hardware problems in past emulation environments. Use python rtest.py [--emulation|-e|--test|-t]=regression to run these tests.
  • Added smoke test options, which runs a subset of the unit tests and ensures that less than 2gb of VRAM will be used. Use python rtest.py [--emulation|-e|--test|-t]=smoke to run these tests.
  • Added --emulation option for rtest.py

Changed

  • --test|-t is no longer a required flag for rtest.py. Instead, the user can use either --emulation|-e or --test|-t, but not both.
  • Removed TBB dependency for multi-core processing of host-side generation.

rocRAND 3.2.0 for ROCm 6.3.3

19 Feb 17:47
07b4fba

Choose a tag to compare

rocRAND code for ROCm 6.3.3 did not change. The library was rebuilt for the updated ROCm 6.3.3 stack.