GitPedia
bh107

bh107/bohrium

Automatic parallelization of Python/NumPy, C, and C++ codes on Linux and MacOSX

23 Releases
Latest: 7y ago
v0.11.0Latest
madsbkmadsbk·7y ago·May 3, 2019
GitHub

📋 Changes

  • Introducing a new Python package, ``bh107``, which is a pure Python front-end that imitate NumPy.
v0.10.2
madsbkmadsbk·7y ago·February 26, 2019
GitHub

📋 Changes

  • User kernels https://bohrium.readthedocs.io/users/python/index.html#userkernel
  • Extended the C++ interface significantly https://bohrium.readthedocs.io/users/cpp.html
v0.10.1
madsbkmadsbk·7y ago·December 10, 2018
GitHub

📋 Changes

  • Separation of the versions of Bohrium and Bohrium API.
  • Simplified how to choose where the OpenCL backend should run.
  • Set `BH_OPENCL_DEVICE_NUMBER` to the device number you want.
  • Run `python -m bohrium_api --info` to see all available devices (and their numbers).
v0.10.0
madsbkmadsbk·7y ago·November 26, 2018
GitHub

📋 Changes

  • Major code clean up
  • Divided the Python fronted (bridge) into two parts: `bohrium_api` and `bohrium`.
  • Added wheel packages with Python3.7
v0.9.2
madsbkmadsbk·7y ago·September 11, 2018
GitHub

📋 Changes

  • Implement some GPU optimizations
  • Dynamic views is changed (@skjoenberg):
  • Now the sliding view information is transferred to the cxx bridge right after the view is flushed, instead of right after indexing. The sliding view information is now stored in a Python object called dynamic_view_info.
  • Sliding views now allow changes to shape between iterations
  • Sliding views now support broadcasting
  • Sliding views now support nesting sliding views (such as a=[i:i+5], b=a[i])
  • Iterators can now be in grids corresponding to nested loops. The iterators can not be mixed when indexing into the same dimension.
  • Temporary arrays now inherit the dynamic changes of the views involved in the operation
v0.9.1
madsbkmadsbk·7y ago·July 31, 2018
GitHub

📋 Changes

  • Implemented a malloc cache, which should speedup most applications
  • Implemented lossy channels in the Proxy VEM
  • Implemented `hstack()` and friends
v0.9.0
madsbkmadsbk·8y ago·March 23, 2018
GitHub

📋 Changes

  • Now do_while() loop, and the new for_loop() supports sliding views (@skjoenberg): http://bohrium.readthedocs.io/users/python/index.html#sliding-views-between-iterations
  • Building PyPI `manylinux1` packages for Python 2.7, 3.4, 3.5, and 3.6
  • Building PyPI packages for Python 2.7 and 3.6 on Mac OSX 10.12 and 10.13
  • The homebrew package is now deprecated
  • Re-implemented signal handling -- we now use [libsigsegv](https://www.gnu.org/software/libsigsegv/).
v0.8.10
madsbkmadsbk·8y ago·March 13, 2018
GitHub

📋 Changes

  • Now Bohrium will clean up the cache folder so that total number of cache files is less than 50000 files by default.
  • Bohrium now has a `do_while()` function to replace Python for and while loop for better performance: http://bohrium.readthedocs.io/users/python/index.html#accelerate-loops
  • Added Bohrium pip packages
  • Fixed `np.mean()`
  • Re-written the C/Python API
v0.8.9
madsbkmadsbk·8y ago·October 24, 2017
GitHub

📋 Changes

  • Now backends cache the JIT code generation, which should speedup the execution with small data sets (see #436).
v0.8.8
madsbkmadsbk·8y ago·October 13, 2017
GitHub

📋 Changes

  • Implemented a proxy component, which makes it possible to send array operations to a backend server over TCP/IP.
  • `convolve()` and `correlate()` now works on pure numpy arrays as well as bohrium array.
  • Now using a simpler fuser in special cases, which significantly reduce the fusion overhead (issue #425).
v0.8.7
madsbkmadsbk·8y ago·October 11, 2017
GitHub

📋 Changes

  • `clang` can now use OpenMP with latest version of CMake
  • `clang` will run with `-O3` when executing kernels
  • Removed the `BH_SYNC` byte code
v0.8.6
madsbkmadsbk·8y ago·August 11, 2017
GitHub

📋 Changes

  • Implemented interoperability (see http://bohrium.readthedocs.io/users/python/index.html#interoperability)
  • Cython interoperability
  • PyOpenCL interoperability
  • PyCUDA interoperability
  • Implemented `numpy.bincount()` using Cython, PyOpenCL, and PyCUDA
  • Implemented Nd `convolve()` and `correlate()` (by @Thunderl3ear)
v0.8.5
madsbkmadsbk·8y ago·June 28, 2017
GitHub

Removed the NumCIL frontend and updated the docs

v0.8.4
madsbkmadsbk·8y ago·June 23, 2017
GitHub

📋 Changes

  • Re-implementation of the C++ frontend
  • Implemented profile context in Python e.g.:
  • Implemented `correlate()` and `convolve()` (by Thorbjørn Koch)
  • Implemented `argmin()` and `argmax()` for 1d arrays
v0.8.3
madsbkmadsbk·9y ago·May 30, 2017
GitHub

📋 Changes

  • Fixed a `lib64` issue (#317)
  • Fixed a `numpy.matlib` issue (#319)
  • Henceforth, the VERSION file has to be manually updated when creating new releases
v0.8.2
madsbkmadsbk·9y ago·May 29, 2017
GitHub

📋 Changes

  • Fixed a fatal bug when the version consist of three components.
  • Fixed a segfault on shutdown when using OpenMP (@mfherbst)
v0.8.1
madsbkmadsbk·9y ago·May 29, 2017
GitHub

📋 Changes

  • Added a CUDA backend (experimental)
  • Added a VERSION file
  • Clean up and Bug fixes
v0.8
madsbkmadsbk·9y ago·April 27, 2017
GitHub

📋 Changes

  • Added support of fancy indexing of multi dimension arrays
  • Fixed BLAS & LAPACK dependencies in the Conda build (@dionhaefner)
  • Added Ubuntu 17.04 package build
  • Now `bohrium.where()` handles `NaN` values (@dionhaefner)
  • Fixed the CG solver see #311 (@dionhaefner)
v0.7
madsbkmadsbk·9y ago·March 20, 2017
GitHub

📋 Changes

  • Fixed signed integer division so it matches Python/NumPy
  • Added a TDMA solver (by @dionhaefner)
  • Fixed many bugs and added python tests to verify the fixes
  • Added support of `np.take()` and `np.put()`
  • Added support of fancy indexing of vectors such as `a[[3,2,1]] = a[[1,2,5]]`
  • Added OpenMP and OpenCL implementation of *some* LAPACK functions (as extension methods)
  • Added Conjugate gradient
  • Removed dependency of Cheetah
  • + 1 more
v0.6
madsbkmadsbk·9y ago·February 25, 2017
GitHub

📋 Changes

  • Fully MacOS support (both OpenMP and OpenCL)
  • Conda/Anaconda support (linux-64)
  • Reduced the overhead of the fusers significantly
  • Improved the compiler cache hit rate significantly
  • Implemented scalar assignment to masked array e.g.: `a[a>42] = 7`
  • Implemented np.where(), which can be used instead of masked array in most cases
  • Implemented OpenMP and OpenCL implementation of BLAS (as extension methods)
  • Fixed many bugs and added python tests to verify the fixes
v0.5
madsbkmadsbk·9y ago·January 25, 2017
GitHub

📋 Changes

  • Fixed MAJOR memory leak
  • Cleanup of both the OpenCL and OpenMP backend
  • Fixed many bugs and added python tests to verify the fixes
Christmas Releasev0.4
madsbkmadsbk·9y ago·December 22, 2016
GitHub

📋 Changes

  • Introducing two new backends: OpenMP and OpenCL.
  • The OpenMP backend is now the default backend
  • Python v3 support
v0.3
madsbkmadsbk·10y ago·April 6, 2016
GitHub

After almost 3000 commits, it is time for a new release :)