NVIDIA / NVIDIA/apex

Does this package have a roadmap for better devops features ?

Open
#381 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
9k
Forks
1.5k
Avg merge
2d 4h
Merged PRs (30d)
3

Description

This package so far does not play well with healthy deployment pipelines:

  • provides no versionning
  • does not run on CPU, which is practical for gpu-less CI (what's the reason for this limitation ?)
  • if not for official releases, automated run of the tests on github could reassure about the stability but there's not that either.

As a python user I've also failed so far to make AMP work smoothly with non trivial scenarii (switching optimizer seems to create memory leaks, pickling will not work, seemingly because of monkey patching with locally defined functions,...). While this might be my mistake, debugging looks excessively complicated because of the globals like _DECORATOR_HANDLE and _amp_state.handle. Such global variables (whose state are changed by functions as side effects) looks like bad development practices. If the use of said variables are inevitable the contribution guidelines should state it in and methods should be provided to reset the state of the package as if it was freshly imported to avoid leaks.

Or if this package is purely for POCs and linear research scripts, it should be flagged as such and state clearly that other usecases are not supported ?

Nonetheless this package seems to be marketed like a mature feature by Nvidia ( https://developer.nvidia.com/automatic-mixed-precision ), has by now 1800 stars on github, and the repo itself is hosted by the NVIDIA group, so people could expect, if not a mature package by usual standards, an acknowledgement that this work is at most an alpha release, and a draft of roadmap on the afore-mentionned features before a first stable release.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is identified in the issue. First clarify whether the goal is a roadmap or separate implementation tasks for versioning, CPU execution, GitHub test automation, and AMP state handling; done would be an agreed scope with documented support and milestones.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, python, pytorch
Domain
ci-cd, developer-experience, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.