Second bugfix release for 3.2
Release Notes {#releasenotes}
The source code with submodules can be downloaded directly from the following link:
http://arrayfire.com/arrayfire_source/arrayfire-full-3.2.2.tar.bz2
v3.2.2
Bug Fixes
- Fixed memory leak in
CUDA Random number generators - Fixed bug in
af::select() and af::replace() tests - Fixed exception
thrown when printing empty arrays with af::print() - Fixed bug in CPU
random number generation. Changed the generator to
mt19937 - Fixed exception handling (internal)
- Exceptions
now show function, short file name and line number - Added AF_RETURN_ERROR
macro to handle returning errors. - Removed THROW macro, and renamed AF_THROW_MSG to AF_THROW_ERR.
- Exceptions
- Fixed bug
in \ref af::identity() that may have affected CUDA Compute 5.2 cards
Build
- Added a MIN_BUILD_TIME
option to build with minimum optimization compiler flags resulting in faster
compile times - Fixed issue in CBLAS
detection by CMake - Fixed tests failing for builds without optional components
FreeImage and
LAPACK - Added a test
for unified backend - Only info and backend tests
are now built for unified backend - Sort tests
execution alphabetically - Fixed compilation flags and errors in tests and examples
- Moved AF_REVISION and AF_COMPILER_STR
into src/backend. This is because as revision is updated with every commit,
entire ArrayFire would have to be rebuilt in the old code.- v3.3 will add a af_get_revision() function to get the revision string.
- Clean up examples
- Remove getchar for Windows (this will be handled by the installer)
- Other miscellaneous code cleanup
- Fixed bug in [plot3.cpp](ref graphics/plot3.cpp) example
- Rename clBLAS/clFFT
external project suffix from external -> ext - Add OpenBLAS as a
lapack/lapacke alternative
Improvements
- Added \ref AF_MEM_INFO macro to print memory info from ArrayFire's memory
manager (cross issue) - Added additional paths
for searching forlibaf*
for Unified backend on unix-style OS.- Note: This still requires dependencies such as forge, CUDA, NVVM etc to be
inLD_LIBRARY_PATH
as described in [Unified Backend](ref unifiedbackend)
- Note: This still requires dependencies such as forge, CUDA, NVVM etc to be
- Create streams
for devices only when required in CUDA Backend
Documentation
- Hide scrollbars
appearing for pre and code styles - Fix documentation for af::replace
- Add code sample
for converting the output of af::getAvailableBackends() into bools - Minor fixes in documentation