Releases: ROCm/rocRAND
Releases · ROCm/rocRAND
rocRAND 4.1.0 for ROCm 7.1.0
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 tohipGetLastErrorrather than on every HIP API call.
Changed
- Changed the
USE_DEVICE_DISPATCHflag 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
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
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
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.hintest_rocrand_discrete.cpp - New unit tests for
include/rocrand/rocrand_mrg31k3p.hintest_rocrand_mrg31k3p_prng.cpp - New unit tests for
include/rocrand/rocrand_mrg32k3a.hintest_rocrand_mrg32k3a_prng.cpp - New unit tests for
include/rocrand/rocrand_poisson.hintest_rocrand_poisson.cpp
Changed
- Changed the return type for
rocrand_generate_poissonfor theSOBOL64andSCRAMBLED_SOBOL64engines. - Changed the unnecessarily large 64-bit data type for constants used for skipping in
MRG32K3Ato the 32-bit data type. - Updated several
gfx942auto 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_ASMCMake 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, userocrand_get_scramble_constants32instead.h_scrambled_sobol64_constants, userocrand_get_scramble_constants64instead.rocrand_h_sobol32_direction_vectors, userocrand_get_direction_vectors32instead.rocrand_h_sobol64_direction_vectors, userocrand_get_direction_vectors64instead.rocrand_h_scrambled_sobol32_direction_vectors, userocrand_get_direction_vectors32instead.rocrand_h_scrambled_sobol64_direction_vectors, userocrand_get_direction_vectors64instead.
Resolved issues
- Fixed an issue where
mt19937.hppwould 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
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
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
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
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
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. Usepython rtest.py [--emulation|-e|--test|-t]=extendedto run these tests. - Added regression tests to
rtest.py. These tests recreate scenarios that have caused hardware problems in past emulation environments. Usepython rtest.py [--emulation|-e|--test|-t]=regressionto 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]=smoketo run these tests. - Added
--emulationoption forrtest.py
Changed
--test|-tis no longer a required flag forrtest.py. Instead, the user can use either--emulation|-eor--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
rocRAND code for ROCm 6.3.3 did not change. The library was rebuilt for the updated ROCm 6.3.3 stack.