Skip to content

Update gold/2021 to 0.4.0 #193

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

Merged

Conversation

PokhodenkoSA
Copy link
Contributor

@PokhodenkoSA PokhodenkoSA commented Dec 1, 2020

git checkout gold/2021
git merge 0.4.0

Small conflicts in conda-recipe/bld.bat resolved.

Diptorup Deb and others added 30 commits October 9, 2020 18:22
This GitHub Action checks that code in pull request
is formatted with black.

See https://black.readthedocs.io/en/stable/github_actions.html
versioneer.py is not a part of the project.

Add pyproject.toml file with section [tool.black] and parameter
exclude = 'versioneer.py'. This file will be used by developers and
GitHub Actions for black.

Usign pyproject.toml allows use black like this: `black .`
Use black version 20.8b1 or branch [stable](https://github.com/psf/black/tree/stable)).

Command: black .
File .git-blame-ignore-revs contains a list of revisions to use for
ignoring in blame. Example:
$ git blame FILE --ignore-revs-file .git-blame-ignore-revs

Also you can configure git to automatically ignore revisions listed
in a file on every call to git blame:
$ git config blame.ignoreRevsFile .git-blame-ignore-revs

Requirements: Git >=2.23
…t-queue-on-C-side

dpctl.get_current_queue is now cimportable
* Del old ocl interface

* Del cffi

* Fix CMakeLists

* Remove OpenCL from README.md

* Update changelog

Co-authored-by: etotmeni <elena.totmenina@intel.com>
Co-authored-by: Sergey Pokhodenko <sergey.pokhodenko@intel.com>
1. Memory class exposes the interface
2. Memory variants constructors can consum objects exposing
   the said interface, and take over memory zero copy.
3. Class implements

      memInst.copy_to_host(pyobj=None)
         If `pyobj` supports Python's buffer protocol,
	 content of USM memory in the instance is copied
	 to the host buffer.

	 Otherwise, bytearray is allocated, populated
	 and returned

      memInst.copy_from_host(pyobj)
         Copies buffer of `pyobj` into USM memory of the
	 instance.

	 Raises exception if pyobj is not a byte array

      memInst.copy_from_device(sycl_usm_obj)
         Copies USM memory of sycl_usm_obj exposing
	 __sycl_usm_array_interface__ into USM memory
	 of the instance

4. Class is pickleable
5. Class implements tobytes method that produces bytes object
   populated by the content of USM memory.

Methods are currently not releasing GIL, but I think they should.
modularized test, + changes per black
Previously it would always produced shared memory on unpickling.
queue can no longer be specified via positional argument,
only through a keyword to allow a user to specify alignment
but not queue.

SYCL spec says that aligned allocation may return null pointer
when the requested alignment is not supported by the device.

Non-positive alignments silently go unused (i.e. DPPLmalloc_* is
instead of DPPL_aligned_alloc_*)
Added DPPLDevice_AreEq to check if two devices are pointer equal.
Used in the test.
* Add wrapper functions over device properties used inside Numba.

* Add unit test cases for dppl_sycl_device_interface.cpp

* change and fixes for existing funcs

* Add device::aspects for int64_base_atomics and int64_extended_atomics

* Fixes according comments

* Fix tests

* Codestyle

* Codestyle

* Some fixes + add tests for level0 gpu

* Change names in tests level0gpu

* Update changelog

* Fix import _backend in _sycl_core.pxd

Co-authored-by: Diptorup Deb <diptorup.deb@intel.com>
Co-authored-by: etotmeni <elena.totmenina@intel.com>
Co-authored-by: Sergey Pokhodenko <sergey.pokhodenko@intel.com>
* Change funcs to cpdef

* Change funcs to cpdef

Co-authored-by: etotmeni <elena.totmenina@intel.com>
Co-authored-by: Sergey Pokhodenko <sergey.pokhodenko@intel.com>
oleksandr-pavlyk and others added 28 commits October 27, 2020 15:40
This PR fixes all the currently reported warnings for the libDPPLSyclInterface and suppresses tp_print related warnings when building the Cython module.

* Enable warning flags to CXX_FLAGS.

* Add __attribute__((unused)) to wrap/unwrap functions.

    -- Wrap/unwrap functions are imported using the same macro and
       both versions are not necessarily used in the same file.
       Adding this attribute prevents a flood of warning.

* Remove unused variables.

* Initialize before use.

* Fix signed comparison warnings.

* Some formatting changes.

* fix warnings about comparing signed with unsigned

* Remove option not known to MSVC.

* Silence strncpy deprecation warning on Windows.

* Suppress tp_print deprecation warning flood on Linux.

* Update changelog.
1. Only source oneAPI compiler activation script if dpcpp.exe --version
   was not successful to avoid polluting env. variables
2. Script is responsive to USE_GTEST env. variable
   If it is undefined, GTEST portion will be skipped.

To build without GTEST
```
set USE_GTEST=
scripts\build_for_develop.bat
```

to build with GTEST:

```
set USE_GTEST=1
scripts\build_for_develop.bat
```
This comes up when building dpctl in environment prepped for build
daal4py which has clang-tools installed which installes its own clang
into python environment.

We need DPCPP's clang.
Previously identified hang was due to bad driver.
…-develop-tweak

Changes to build_for_develop.bat
* Remove whitespace.

* Remove numpy and python look up in CMakeLists.txt
These are no longer required by CMake script
* Fixes to get cmake working on windows.

* Update bld.bat
* use find_package for GTest and bump minimum CMake version.

* Use new cmake google_discover_tests feature.

* Use a common test runner and do not create separate executable for each test.

* Remove extra new line.

* Add a cmake option to build tests.

* Use new option in windows build_for_develop as well.

* Remove leftover code.

* print output of tests only when there is a failure.

* Fix typo.

* Do not use relative paths.

* fix indentation
…__init__-pxd

fixed dpct/memory/__init__.pxd
* Adding the basic infrastructure to generate API docs for dpCtl.
* Add missing doxygen doc-strings.
* Various improvements to Python doc-strings and documentation.
* Add Sphinx documentation for dpctl.memory.
Improved memory manager.
@PokhodenkoSA PokhodenkoSA merged commit e35093b into IntelPython:gold/2021 Dec 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants