Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hotfixes 3.2.2 #1200

Merged
merged 83 commits into from
Dec 30, 2015
Merged

Hotfixes 3.2.2 #1200

merged 83 commits into from
Dec 30, 2015

Conversation

shehzan10
Copy link
Member

[skip ci]

Release Notes {#releasenotes}

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.
  • 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 for libaf* for Unified backend on unix-style OS.
    • Note: This still requires dependencies such as forge, CUDA, NVVM etc to be
      in LD_LIBRARY_PATH as described in [Unified Backend](ref unifiedbackend)
  • 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

shehzan10 and others added 30 commits December 7, 2015 13:01
- Remove searching for MKL
- Fix bug when looking up symbols
- Now check for libblas on ubuntu based systems
* AF_REVISION was in version.h which is included in defines.h
    * Which meant with each new commit, the entire source would have to be
      rebuilt
* AF_REVISION is only required by src/backend/*/platform.cpp
* So AF_REVISION has been moved into backend/version.hpp and is compiled into
  the library
* Renamed AF_CMPLR_STR to AF_COMPILER_STR
* Moved AF_COMPILER_STR into version.hpp as it is also only required by
  backend/platform.cpp
* src/backend/version.hpp is generated by CMake using Version.cmake
  and version.hpp.in
Minor cleanup to FindCBLAS.cmake
* This is similar to the bug in triangle fixed in 144a2db
* MP adds multiprocess compilation
* Gm- disables minimal rebuild (this options was being used by default before)
Replaced cudaMemcpy with async version calls in homography
Fix bug in identity cuda plaguing compute 5.2
Visual Studio Multiprocess Compilation options
- Replaced getchar within ifdefs with a new macro
- Cleaned up unneeded "console" options from a few examples
- Removed getchar option for windows.
  - This was already available via cmake
Examples clean up and test fixes
shehzan10 and others added 24 commits December 28, 2015 22:38
* Errors now generated as function_sign()(file:line): Message
* TODO Add function name to af::exception class in devel branch for v3.3.0
- Needed when liblapack or liblapacke are not symlinked to libopenblas
* Mainly affects the order in which tests are executed
* Cleaner, more organized
* Tests are
  * 1 - N     -> CPU
  * N+1 - 2N  -> CUDA
  * 2N+1 - 3N -> OpenCL
  * 3N+1 - E  -> Unified
Fixes when building with OpenBLAS
… compile

* Od on MSVC
* Default is OFF. Flags are set when toggled to ON.
* Resets the flags to default release when toggled back to OFF.
MIN_BUILD_TIME Option for release build with O0 compilation for speed up
@shehzan10 shehzan10 added this to the 3.2.2 milestone Dec 30, 2015
pavanky added a commit that referenced this pull request Dec 30, 2015
@pavanky pavanky merged commit 7507b61 into master Dec 30, 2015
@pavanky pavanky deleted the hotfixes-3.2.2 branch December 30, 2015 20:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment