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

[RELEASE] cucim v21.06 #47

Merged
merged 34 commits into from
Jun 9, 2021
Merged

[RELEASE] cucim v21.06 #47

merged 34 commits into from
Jun 9, 2021

Conversation

ajschmidt8
Copy link
Member

❄️ Code freeze for branch-21.06 and v21.06 release

What does this mean?

Only critical/hotfix level issues should be merged into branch-21.06 until release (merging of this PR).

What is the purpose of this PR?

  • Update documentation
  • Allow testing for the new release
  • Enable a means to merge branch-21.06 into main for the release

gigony and others added 30 commits April 13, 2021 14:11
This patch addresses #2 

- Add GTC session and notebooks information to README.md
- Update Welcome notebook to include existing notebooks
- Remove `notebooks/Single-process_Tests.ipynb`
- Update existing notebooks, assuming that cuCIM is already installed

Authors:
  - Gigon Bae (https://github.com/gigony)
  - Benjamin Zaitlen (https://github.com/quasiben)

Approvers:
  - Benjamin Zaitlen (https://github.com/quasiben)

URL: #4
Currently we support CUDA 11.0 and 11.2. Newer CUDA versions are not yet supported. Also CUDA 11.1 was skipped.

Authors:
  - https://github.com/jakirkham

Approvers:
  - Gigon Bae (https://github.com/gigony)
  - Ray Douglass (https://github.com/raydouglass)
  - Benjamin Zaitlen (https://github.com/quasiben)

URL: #5
Fixes missing content on doc pages

cc @gigony

Authors:
  - Benjamin Zaitlen (https://github.com/quasiben)

Approvers:
  - https://github.com/jakirkham

URL: #6
Fix a memory leak and update release notes for v0.19.0
- Update `run` script to download GDS from public package (cufile.h is needed to build it locally)
  - Update CMakeLists.txt accordingly
  - GDS is still disabled (need to use GDS Conda package and verify it before enabling GDS)
- Update CUDA EULA (which include libcufile)
- Add dependency to `yasm` which is needed for building libjpeg-turbo
- Clear CMakeCathe.txt and existing .so files to build with the updated options
- Minor code change (unnecessarily std::move which degrade performance).
- Add changelog for `v0.18.3` and update the release date of v0.19.0 to 4/19/2021

Verified with a fresh system that https://github.com/rapidsai/cucim/blob/branch-0.20/CONTRIBUTING.md#script-to-build-cucim-from-source is working. (Previously it didn't work due to `yasm` dependency).

Authors:
- Gigon Bae (https://github.com/gigony)
Due to a typo in test skip conditions (using `skimage>=1.18`) rather than the intended case of `scikit-image>=0.18` a handful of test-cases were always being skipped even when new enough scikit-image was available.

Fixing the test skip condition so that these cases get run revealed a couple of errors in the test cases themselves, but fortunately did not reveal any underlying errors in the functions being tested.

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - Benjamin Zaitlen (https://github.com/quasiben)

URL: #14
Previously we had some workarounds here to get the bleeding edge CuPy 9 package, GCC 9.3.0 compilers, etc. However now that RAPIDS supports these, these customizations can be removed. This should get things in better alignment with RAPIDS generally.

cc @raydouglass @gigony @quasiben

Authors:
  - https://github.com/jakirkham

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Benjamin Zaitlen (https://github.com/quasiben)
  - Gigon Bae (https://github.com/gigony)

URL: #21
ENH Remove progress output on conda packages upload
I think we still have black intentionally disabled here (to make comparison to upstream scikit-image code easier).

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - Gigon Bae (https://github.com/gigony)
  - https://github.com/jakirkham

URL: #15
SVS format is not supported for now but we loosen the restriction by
delegating its process to libtiff's TIFFRGBAImageGet() method.
cuCIM assumes that only one image with Subfile Type(=0) is available in
the image file but apparently, some SVS files have also only one Subfile
Type with zero so bypassing the check.

This patch explicitly checks SVS format and compression methods and
raises an exception if the given file doesn't match the criteria.
Once SVS format is supported, those changes need to be updated to not
raise exceptions for SVS files.

Resolves: #17

Authors:
  - Gigon Bae (https://github.com/gigony)

Approvers:
  - Benjamin Zaitlen (https://github.com/quasiben)
  - https://github.com/jakirkham

URL: #19
See #24

This PR adds an `egg_info` section to our `setup.cfg` so that editable installs via `pip install -e . ` work.

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - Benjamin Zaitlen (https://github.com/quasiben)

URL: #26
I looks like `isort` checks have not been running on CI due to an incorrect path in a CI script. The following shows up in CI logs:
```
/opt/conda/envs/rapids/lib/python3.7/site-packages/isort/main.py:104: UserWarning: Unable to parse file python due to [Errno 2] No such file or directory: '/workspace/python/cucim/python'

  warn(f"Unable to parse file {file_name} due to {error}")
```

The first commit here fixes that. I then changed `force_single_line` to False to minimize the amount of changes when rerunning `isort` on the existing code base (see #24). Let me know if we need to switch to `force_single_line = True` instead.

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Benjamin Zaitlen (https://github.com/quasiben)

URL: #28
closes #24

This is basically just the standard procedure now that the `setup.cfg` change in #26 was merged, but possibly still worth documenting?

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - https://github.com/jakirkham

URL: #30
This PR silences a number of warnings when running the tests with the current CuPy development branch. As in NumPy, these types are deprecated and `float`, `int` or `bool` should be used instead.

Authors:
  - Gregory R. Lee (https://github.com/grlee77)

Approvers:
  - https://github.com/jakirkham

URL: #29
Update the release script to take a parameter with the new version instead of calculating the new version.

Authors:
  - Ray Douglass (https://github.com/raydouglass)

Approvers:
  - Dillon Cullinan (https://github.com/dillon-cullinan)
  - AJ Schmidt (https://github.com/ajschmidt8)
  - Gigon Bae (https://github.com/gigony)
  - https://github.com/jakirkham

URL: #31
- Update release script and relevant files to support CalVer versioning scheme.
This is a subsequent PR of #31

Authors:
  - Gigon Bae (https://github.com/gigony)

Approvers:
  - https://github.com/jakirkham
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #32
Pass compiler environment variables to conda python build

Authors:
  - Jordan Jacobelli (https://github.com/Ethyling)

Approvers:
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #36
This PR removes a variable that is no longer necessary for docs builds after the calver transition.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Dillon Cullinan (https://github.com/dillon-cullinan)

URL: #39
This PR updates the changelog for `cucim` to include some text that's necessary for our automated changelog scripts to function correctly.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - https://github.com/jakirkham

URL: #40
This PR makes some changes to `update-version.sh` to make it work as intended. In particular, the `CURRENT_TAG` expression needed to be updated to allow for cal-ver and alpha tag selections

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - Ray Douglass (https://github.com/raydouglass)

URL: #42
Refactor `update-version.sh` to not depend on `bump2version` utility.

Authors:
  - Gigon Bae (https://github.com/gigony)

Approvers:
  - https://github.com/jakirkham
  - AJ Schmidt (https://github.com/ajschmidt8)

URL: #41
This PR updates the environment variable thats used to determine the `cuda_version` varaible in our conda recipes.

The `CUDA` environment variable is explicitly set by the Ops team in our Jenkins jobs, whereas `CUDA_VERSION` comes from the `nvidia/cuda` Docker images that we base our images from.

Authors:
  - AJ Schmidt (https://github.com/ajschmidt8)

Approvers:
  - https://github.com/jakirkham
  - Ray Douglass (https://github.com/raydouglass)

URL: #43
@gigony
Copy link
Contributor

gigony commented Jun 7, 2021

Hi @ajschmidt8

Could #48 be merged before this is merged?

* Fix memory leak in deflate decoder

* Update build script to handle failures

* Fix typo in meta.yaml

* Add pytest to gpu build script

* Implement cache mechanism

Remove scripts/docs related to bump2version because
we don't need it anymore since the versioning scheme
is changed to CalVer.

* Add __cuda_array_interface__

* Support CUDA 10.x for cucim.skimage package (#44)

* Expose preferred_memory_capacity() for cache

* Fix failures due to GIL and nullptr access

* Add notebooks for cache and cuda array interface

* Update change logs for v21.06.00

* Fix style errors

* Address comments

* Remove debug print code for cache

* Extract methods for find_if

* Fix wrong move of image metadata
@ajschmidt8 ajschmidt8 requested a review from a team as a code owner June 8, 2021 13:30
* Update CI scripts

* Drop `python` & `sysroot_linux-64`

`python` is already included and `sysroot_linux-64` was leftover from an
attempt in another PR.

Co-authored-by: jakirkham <jakirkham@gmail.com>
@jakirkham
Copy link
Member

The linked PR above has been merged along with another that fixed CI

Separately we seem to see the size check above failing. Not sure if that's expected or if there's something else we need to do there

@jakirkham
Copy link
Member

jakirkham commented Jun 9, 2021

rerun tests

(looks like it might have been spurious)

@raydouglass raydouglass merged commit f98b607 into main Jun 9, 2021
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.

8 participants