Skip to content

Releases: ROCm/rocRAND

rocRAND 4.2.0 for ROCm 7.2.0

21 Jan 18:58

Choose a tag to compare

Removed

  • For performance reasons in the mrg31k3p_state, mrg32k3a_state, xorwow_state and philox4x32_10_state states are the boxmuller_float_state and boxmuller_double_state removed now and the boxmuller_float and boxmuller_double are set with NaN when the value is not set.

Added

  • Added a new CMake option -DUSE_SYSTEM_LIB to allow tests to be built from ROCm libraries provided by the system.
  • Experimental SPIR-V support.

Changed

  • Changed the launch method in host_system and device_system, so that kernels with all supported arches can be compiled with correct configuration during host pass. All generators are updated accordingly for support of SPIR-V. To invoke SIPR-V, it should be built with -DAMDGPU_TARGETS=amdgcnspirv.

rocrand 4.1.0 for ROCm 7.1.1

26 Nov 07:19

Choose a tag to compare

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

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.