GitHub
07/11/2023, 5:05 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/8ce2da311a9a0b84dc403dc960e286cd74d6fec1|8ce2da31>
- Update material (#6)
flyteorg/flyte-conference-talksGitHub
07/11/2023, 5:06 PM@dependabot rebase
.
* * *
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
• @dependabot rebase
will rebase this PR
• @dependabot recreate
will recreate this PR, overwriting any edits that have been made to it
• @dependabot merge
will merge this PR after your CI passes on it
• @dependabot squash and merge
will squash and merge this PR after your CI passes on it
• @dependabot cancel merge
will cancel a previously requested merge and block automerging
• @dependabot reopen
will reopen this PR if it is closed
• @dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
• @dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
• @dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
• @dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the Security Alerts page.
flyteorg/flyte-conference-talks
GitHub Actions: build (scipy-2023, 3.10, macos-latest)
GitHub Actions: build (scipy-2023, 3.10, ubuntu-latest)
GitHub Actions: build (scipy-2023, 3.9, windows-latest)
GitHub Actions: build (scipy-2023, 3.9, macos-latest)
GitHub Actions: build (scipy-2023, 3.9, ubuntu-latest)
GitHub Actions: build (scipy-2023, 3.8, windows-latest)
GitHub Actions: build (scipy-2023, 3.8, macos-latest)
GitHub Actions: build (scipy-2023, 3.8, ubuntu-latest)
✅ 2 other checks have passed
2/10 successful checksGitHub
07/11/2023, 5:08 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/34e13309beda07686c3dfd5e8841f32e9808943f|34e13309>
- update readme
flyteorg/flyte-conference-talksGitHub
07/11/2023, 5:22 PM<https://github.com/flyteorg/community/tree/main|main>
by davidmirror-ops
<https://github.com/flyteorg/community/commit/758b748a34475c0d3701c81d0affdfe2ea75a6d2|758b748a>
- Add July 11 meeting notes
flyteorg/communityGitHub
07/11/2023, 5:41 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/d16d36e9536ab34cc525bd44817a20bd9affc81d|d16d36e9>
- add mlflow, clean up notebook
flyteorg/flyte-conference-talksGitHub
07/11/2023, 6:07 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/d029720888de0b4f292de97a14e05fb88e6561ef|d0297208>
- remove ipdb
flyteorg/flyte-conference-talksGitHub
07/11/2023, 6:09 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/2407e5c5c13108e3253aa69583c3e4a3c4c375f9|2407e5c5>
- update launchplan
flyteorg/flyte-conference-talksGitHub
07/11/2023, 6:21 PM<https://github.com/flyteorg/flyte-conference-talks/tree/main|main>
by cosmicBboy
<https://github.com/flyteorg/flyte-conference-talks/commit/4eb8155f0713b7a24d64140e0c696ea3f70b4da5|4eb8155f>
- notebook updates
flyteorg/flyte-conference-talksGitHub
07/11/2023, 8:28 PM<https://github.com/flyteorg/community/tree/main|main>
by davidmirror-ops
<https://github.com/flyteorg/community/commit/6f12394ad208c95695181605efd9ce41cf5ab9cc|6f12394a>
- Update contributor ladder (#15)
flyteorg/communityGitHub
07/11/2023, 8:41 PMGitHub
07/11/2023, 10:05 PM<https://github.com/flyteorg/flyte/tree/master|master>
by eapolinario
<https://github.com/flyteorg/flyte/commit/951a93080972bbcf85bc92ec54ac62e074be887f|951a9308>
- Update Flyte components (#3819)
flyteorg/flyteGitHub
07/11/2023, 10:06 PMGitHub
07/11/2023, 10:26 PMGitHub
07/11/2023, 10:28 PMGitHub
07/11/2023, 11:30 PMGitHub
07/12/2023, 4:54 AMGitHub
07/12/2023, 5:46 AMGitHub
07/12/2023, 6:59 AMGitHub
07/12/2023, 7:42 AMGitHub
07/12/2023, 8:09 AMconda create env -n flytekit python=3.9
make setup
pip install -e .
pip install gsutil awscli
and run
make requirements
The below will appear the logs
the first one:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
tensorboard 2.8.0 requires google-auth-oauthlib<0.5,>=0.4.1, but you have google-auth-oauthlib 1.0.0 which is incompatible.
Successfully installed setuptools-68.0.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: <https://pip.pypa.io/warnings/venv>
pip-compile --upgrade --verbose <http://doc-requirements.in|doc-requirements.in>
/root/miniconda3/envs/build/lib/python3.9/site-packages/_distutils_hack/__init__.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
Using pip-tools configuration defaults found in 'pyproject.toml'.
WARNING: the legacy dependency resolver is deprecated and will be removed in future versions of pip-tools. The default resolver will be changed to 'backtracking' in pip-tools 7.0.0. Specify --resolver=backtracking to silence this warning.
the second one
Using legacy resolver. Consider using backtracking resolver with `--resolver=backtracking`.
Could not find a version that matches grpcio!=1.55.0,<2.0,<2.0dev,<=1.49.1,<=1.51.3,>=1.24.3,>=1.32.0,>=1.33.2,>=1.47.0,>=1.50.0 (from -r <http://doc-requirements.in|doc-requirements.in> (line 4))
Tried: 0.13.0, 0.13.1, 0.14.0, 0.15.0, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.1.0, 1.1.3, 1.2.0, 1.2.1, 1.3.0, 1.3.5, 1.4.0, 1.6.0, 1.6.3, 1.7.0, 1.7.3, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.6, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.11.0, 1.11.1, 1.12.0, 1.12.1, 1.13.0, 1.14.0, 1.14.1, 1.14.2, 1.15.0, 1.16.0, 1.16.1, 1.17.0, 1.17.1, 1.18.0, 1.19.0, 1.20.0, 1.20.1, 1.21.1, 1.22.0, 1.22.1, 1.23.0, 1.23.1, 1.24.0, 1.24.1, 1.24.3, 1.25.0, 1.26.0, 1.27.1, 1.27.2, 1.28.1, 1.29.0, 1.30.0, 1.31.0, 1.32.0, 1.33.1, 1.33.1, 1.33.1, 1.33.2, 1.33.2, 1.33.2, 1.34.0, 1.34.0, 1.34.0, 1.34.1, 1.34.1, 1.34.1, 1.35.0, 1.35.0, 1.35.0, 1.36.0, 1.36.0, 1.36.0, 1.36.1, 1.36.1, 1.36.1, 1.37.0, 1.37.0, 1.37.0, 1.37.1, 1.37.1, 1.37.1, 1.38.0, 1.38.0, 1.38.0, 1.38.1, 1.38.1, 1.38.1, 1.39.0, 1.39.0, 1.39.0, 1.40.0, 1.40.0, 1.40.0, 1.41.0, 1.41.0, 1.41.0, 1.41.1, 1.41.1, 1.41.1, 1.42.0, 1.42.0, 1.42.0, 1.43.0, 1.43.0, 1.43.0, 1.44.0, 1.44.0, 1.44.0, 1.45.0, 1.45.0, 1.45.0, 1.46.0, 1.46.0, 1.46.0, 1.46.1, 1.46.1, 1.46.1, 1.46.3, 1.46.3, 1.46.3, 1.46.5, 1.46.5, 1.46.5, 1.47.0, 1.47.0, 1.47.2, 1.47.2, 1.47.5, 1.47.5, 1.48.0, 1.48.0, 1.48.1, 1.48.1, 1.48.2, 1.48.2, 1.49.0, 1.49.0, 1.49.1, 1.49.1, 1.50.0, 1.50.0, 1.51.0, 1.51.0, 1.51.1, 1.51.1, 1.51.3, 1.51.3, 1.52.0, 1.52.0, 1.53.0, 1.53.0, 1.53.1, 1.53.1, 1.54.0, 1.54.0, 1.54.2, 1.54.2, 1.55.0, 1.55.0, 1.56.0, 1.56.0
Skipped pre-versions: 0.4.0a0, 0.4.0a1, 0.4.0a2, 0.4.0a3, 0.4.0a4, 0.4.0a5, 0.4.0a6, 0.4.0a7, 0.4.0a8, 0.4.0a13, 0.4.0a14, 0.5.0a0, 0.5.0a1, 0.5.0a2, 0.9.0a0, 0.9.0a1, 0.10.0a0, 0.11.0b0, 0.11.0b1, 0.12.0b0, 0.13.1rc1, 0.14.0rc1, 1.0.0rc1, 1.0.0rc2, 1.0.1rc1, 1.9.0rc1, 1.9.0rc2, 1.9.0rc3, 1.10.0rc2, 1.10.1rc1, 1.10.1rc2, 1.11.0rc1, 1.11.0rc2, 1.11.1rc1, 1.12.0rc1, 1.13.0rc1, 1.13.0rc2, 1.13.0rc3, 1.14.0rc1, 1.14.0rc2, 1.14.2rc1, 1.15.0rc1, 1.16.0rc1, 1.20.0rc1, 1.20.0rc2, 1.20.0rc3, 1.21.0rc1, 1.21.1rc1, 1.22.0rc1, 1.23.0rc1, 1.24.0rc1, 1.25.0rc1, 1.26.0rc1, 1.27.0rc1, 1.27.0rc2, 1.28.0rc1, 1.28.0rc2, 1.34.0rc1, 1.34.0rc1, 1.34.0rc1, 1.35.0rc1, 1.35.0rc1, 1.35.0rc1, 1.36.0rc1, 1.36.0rc1, 1.36.0rc1, 1.37.0rc1, 1.37.0rc1, 1.37.0rc1, 1.38.0rc1, 1.38.0rc1, 1.38.0rc1, 1.39.0rc1, 1.39.0rc1, 1.39.0rc1, 1.40.0rc1, 1.40.0rc1, 1.40.0rc1, 1.41.0rc2, 1.41.0rc2, 1.41.0rc2, 1.42.0rc1, 1.42.0rc1, 1.42.0rc1, 1.43.0rc1, 1.43.0rc1, 1.43.0rc1, 1.44.0rc1, 1.44.0rc1, 1.44.0rc1, 1.44.0rc2, 1.44.0rc2, 1.44.0rc2, 1.45.0rc1, 1.45.0rc1, 1.45.0rc1, 1.46.0rc1, 1.46.0rc1, 1.46.0rc1, 1.46.0rc2, 1.46.0rc2, 1.46.0rc2, 1.47.0rc1, 1.47.0rc1, 1.48.0rc1, 1.48.0rc1, 1.49.0rc1, 1.49.0rc1, 1.49.0rc3, 1.49.0rc3, 1.50.0rc1, 1.50.0rc1, 1.51.0rc1, 1.51.0rc1, 1.52.0rc1, 1.52.0rc1, 1.53.0rc2, 1.53.0rc2, 1.54.0rc1, 1.54.0rc1, 1.55.0rc1, 1.55.0rc1, 1.56.0rc2, 1.56.0rc2
There are incompatible versions in the resolved dependencies:
grpcio<=1.49.1 (from -r <http://doc-requirements.in|doc-requirements.in> (line 4))
grpcio<2.0dev,>=1.47.0 (from google-cloud-bigquery==3.11.3->-r <http://doc-requirements.in|doc-requirements.in> (line 27))
grpcio<2.0,>=1.24.3 (from tensorflow==2.8.1->-r <http://doc-requirements.in|doc-requirements.in> (line 44))
grpcio<=1.51.3,>=1.32.0 (from ray==2.5.1->-r <http://doc-requirements.in|doc-requirements.in> (line 47))
grpcio<2.0dev,>=1.33.2 (from google-api-core[grpc]==2.11.1->-r <http://doc-requirements.in|doc-requirements.in> (line 17))
grpcio!=1.55.0,<2.0,>=1.50.0 (from flytekit==0.0.0+develop->-r <http://doc-requirements.in|doc-requirements.in> (line 1))
make: *** [Makefile:65: doc-requirements.txt] Error 2
Expected behavior
Build successfully.
Additional context to reproduce
No response
Screenshots
image▾
image▾
GitHub
07/12/2023, 8:27 AMpyflyte run --remote merge_sort.py merge_sort --numbers=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21] --numbers_count=21
and open my flyteconsole, the bug will happen.
The output is right, but the behavior isn't.
Note:
I've contributed to the merge_sort.py to change the behavior, but my code can still reproduce the bug.
Expected behavior
1.See the graph in FlyteConsole.
2.See the Nodes in FlyteConsole.
Additional context to reproduce
No response
Screenshots
image▾
image▾
GitHub
07/12/2023, 9:01 AMNamedTuple
but those are restricted in usage.
Goal: What should the final outcome look like, ideally?
I would like this to work:
@dataclass
@dataclass_json
class Config:
x:int
y:int
z:int
some_unused_additional_config:list[str]
@task
def add(x:int, y:int):
return x+y
@workflow
def do_something(config:Config):
add(config.x, config.y)
Describe alternatives you've considered
Currenlty this is only possible with workarounds. You can:
• Make the workflow dynamic
• Use NamedTuples
only if the configuration object is an output of another workflow. They can't be a task or workflow input.
• Change the add
task signatures to take in the full config object, which means taking in unused parameters.
Propose: Link/Inline OR Additional context
No response
Are you sure this issue hasn't been raised already?
☑︎ Yes
Have you read the Code of Conduct?
☑︎ Yes
flyteorg/flyteGitHub
07/12/2023, 1:29 PM.with_overrides(node_name="foo")
. This is useful for dynamic tasks especially, because they get cryptic identifiers such as d1-n-dn0
by default, making it difficult to see in the UI for what iteration a dynamically created task is running.
If multiple sub-tasks are created, the name override works initially for all tasks, but then fails for any tasks after the initial one.
Expected behavior
Overridden task names are visible throughout in the UI.
Additional context to reproduce
from flytekit import Resources, WorkflowFailurePolicy, dynamic, task, workflow
@task(
limits=Resources(mem="500Mi"),
)
def some_task(
val: str,
):
print(val)
@dynamic(limits=Resources(mem="500Mi"))
def base_workflow():
# set up task promises
for val in ["one", "two", "three"]:
task_some_task = some_task(
val=val,
).with_overrides(node_name=f"{val}-some-task")
task_some_other_task = some_task(
val=val,
).with_overrides(node_name=f"{val}-some-other-task")
task_some_task >> task_some_other_task
@workflow( failure_policy=WorkflowFailurePolicy.FAIL_AFTER_EXECUTABLE_NODES_COMPLETE,
)
def wf():
base_workflow()
Screenshots
image▾
GitHub
07/12/2023, 2:00 PMGitHub
07/12/2023, 2:29 PMtorchrun
has an argument called --nproc-per-node
which can be either "auto"
, "cpu"
, "gpu"
or an integer (see here). The argument controls the size of the local worker groups on each worker node.
Accordingly, the ElasticPolicy
of the PyTorchJob
CRD in the kubeflow training operator (which is used by the flytekitplugins.kfpytorch
plugin) states:
type ElasticPolicy struct {
...
// Number of workers per node; supported values: [auto, cpu, gpu, int].
...
When building the torch elastic/torchrun Flyte plugin, I translated this into the following `@task(task_config=...)`:
@dataclass
class Elastic(object):
"""
Configuration for `torch elastic training <https://pytorch.org/docs/stable/elastic/run.html>`_.
Use this to run single- or multi-node distributed pytorch elastic training on k8s.
...
Args:
nproc_per_node (Union[int, str]): Number of workers per node. Supported values are [auto, cpu, gpu, int].
""""
* * *
However, the kubeflow training operator makes a mistake here which I unfortunately didn't notice and propagated into flytekit:
type ElasticPolicy struct {
...
// Number of workers per node; supported values: [auto, cpu, gpu, int].
NProcPerNode *int32 `json:"nProcPerNode,omitempty"`
...
The type does not allow string values despite the comment directly above.
If a user of the Flyte elastic plugin passes a string in their task decorator, registration currently fails since the respective message in flyteidl
also expects an int32.
* * *
• I created an issue to fix this in the kubeflow training operator: kubeflow/training-operator#1861
• In this PR, I remove the option to pass a string value to @task_config=Elastic(nproc_per_node=...)
because this didn't work in the first place unfortunately. In case this will be fixed in the training operator, I will fix this here.
Type
☑︎ Bug Fix
☐ Feature
☐ Plugin
Are all requirements met?
☑︎ Code completed
☑︎ Smoke tested
☐ Unit tests added
☑︎ Code documentation added
☑︎ Any pending items have an associated Issue
Follow-up issue
NA
flyteorg/flytekit
✅ All checks have passed
30/30 successful checksGitHub
07/12/2023, 3:34 PM<https://github.com/flyteorg/flytekit/tree/master|master>
by fg91
<https://github.com/flyteorg/flytekit/commit/2602cb55e038523c43e5b672d26e0f1358b9b3d6|2602cb55>
- Remove option to pass str value as nproc_per_node in elastic config (#1736)
flyteorg/flytekitGitHub
07/12/2023, 5:24 PMGitHub
07/12/2023, 6:15 PMScreenshot 2023-05-10 at 9 33 29 AM▾
Screenshot 2023-05-10 at 9 33 18 AM▾
GitHub
07/12/2023, 9:05 PM<https://github.com/flyteorg/flyteadmin/tree/master|master>
by eapolinario
<https://github.com/flyteorg/flyteadmin/commit/8f41e67ddfeb8cde2aef231a5ce9a23ee7b0ee98|8f41e67d>
- Alter ID sequence to bigint (#578)
flyteorg/flyteadminGitHub
07/12/2023, 9:51 PM