[Numpy-discussion] ANN: pyMIC v0.7 Released

Klemm, Michael michael.klemm at intel.com
Fri Dec 11 11:11:55 EST 2015

Announcement: pyMIC v0.7

I'm happy to announce the release of pyMIC v0.7.

pyMIC is a Python module to offload computation in a Python program to the Intel Xeon Phi coprocessor.  It contains offloadable arrays and device management functions.  It supports invocation of native kernels (C/C++, Fortran) and blends in with Numpy's array types for float, complex, and int data types.

For more information and downloads please visit pyMIC's Github page: https://github.com/01org/pyMIC.  You can find pyMIC's mailinglist at https://lists.01.org/mailman/listinfo/pymic.

Full change log:

Version 0.7
* Experimental support for Python 3.
* 'None' arguments of kernels are converted to nullptr or NULL.
* Switched to Python's distutils to build and install pyMIC.
* Deprecated the build system based on Makefiles.

Version 0.6
* Experimental support for the Windows operating system.
* Switched to Cython to generate the glue code for pyMIC.
* Now using Markdown for README and CHANGELOG.
* Introduced PYMIC_DEBUG=3 to trace argument passing for kernels.
* Bugfix: added back the translate_device_pointer() function.
* Bugfix: example SVD now respects order of the passed matrices when applying the `dgemm` routine.
* Bugfix: fixed memory leak when invoking kernels.
* Bugfix: fixed broken translation of fake pointers.
* Refactoring: simplified bridge between pyMIC and LIBXSTREAM.

Version 0.5
* Introduced new kernel API that avoids insane pointer unpacking.
* pyMIC now uses libxstreams as the offload back-end
* Added smart pointers to make handling of fake pointers easier.

Version 0.4
* New low-level API to allocate, deallocate, and transfer data
  (see OffloadStream).
* Support for in-place binary operators.
* New internal design to handle offloads.

Version 0.3
* Improved handling of libraries and kernel invocation.
* Trace collection (PYMIC_TRACE=1, PYMIC_TRACE_STACKS={none,compact,full}).
* Replaced the device-centric API with a stream API.
* Refactoring to better match PEP8 recommendations.
* Added support for int(int64) and complex(complex128) data types.
* Reworked the benchmarks and examples to fit the new API.
* Bugfix: fixed syntax errors in OffloadArray.

Version 0.2
* Small improvements to the README files.
* New example: Singular Value Decomposition.
* Some documentation for the API functions.
* Added a basic testsuite for unit testing (WIP).
* Bugfix: benchmarks now use the latest interface.
* Bugfix: numpy.ndarray does not offer an attribute 'order'.
* Bugfix: number_of_devices was not visible after import.
* Bugfix: member offload_array.device is now initialized.
* Bugfix: use exception for errors w/ invoke_kernel & load_library.

Version 0.1
Initial release.

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928

More information about the NumPy-Discussion mailing list