Discussion:
[Numpy-discussion] ANN: pyMIC v0.7 Released
Klemm, Michael
2015-12-11 16:11:55 UTC
Permalink
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
(https://github.com/hfp/libxstream).
* 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

Loading...