Recent Releases of dask-cuda
dask-cuda - v25.08.00
🚨 Breaking Changes
- Better
parse_device_memory_limitspecial-case handling (#1506) @pentschev - Remove CUDA 11 from dependencies.yaml (#1503) @KyleFromNVIDIA
- stop uploading packages to downloads.rapids.ai (#1501) @jameslamb
🐛 Bug Fixes
- Update
test_initializefor to matchprotocol="ucx"changes (#1518) @pentschev - Get all workers from scheduler info (#1514) @pentschev
- Adding GH_TOKEN pass-through to summarize job (#1508) @msarahan
- Add fix for devices that do not have memory resources (#1502) @viclafargue
📖 Documentation
- add docs on CI workflow inputs (#1515) @jameslamb
- Fix docstring escaping (#1507) @pentschev
🚀 New Features
- Test rapids-dask-dependency UCX protocol selection (#1520) @pentschev
- Initialize UCXX when distributed-ucxx installed and
protocol=ucx(#1516) @pentschev - Handle system on a chip (SoC) devices (#1505) @pentschev
🛠️ Improvements
- fix(docker): use versioned
-latesttag for allrapidsaiimages (#1523) @gforsyth - Update UCX implementation checks (#1519) @pentschev
- Use CUDA 12.9 in Conda, Devcontainers, Spark, GHA, etc. (#1513) @jakirkham
- refactor(shellcheck): enable for all files and fix remaining warnings (#1512) @gforsyth
- Remove nvidia and dask channels (#1511) @vyasr
- Drop CUDA 11 checks and warnings (#1509) @pentschev
- Better
parse_device_memory_limitspecial-case handling (#1506) @pentschev - Remove CUDA 11 from dependencies.yaml (#1503) @KyleFromNVIDIA
- stop uploading packages to downloads.rapids.ai (#1501) @jameslamb
- Forward-merge branch-25.06 into branch-25.08 (#1489) @gforsyth
- Forward-merge branch-25.06 into branch-25.08 (#1483) @gforsyth
- Forward-merge branch-25.06 into branch-25.08 (#1478) @gforsyth
- Python
Published by AyodeAwe 7 months ago
dask-cuda - [NIGHTLY] v25.10.00
🔗 Links
🛠️ Improvements
- ci(labeler): update labeler action to @v5 (#1528) @gforsyth
- Update rapids-build-backend to 0.4.1 (#1527) @KyleFromNVIDIA
- Python
Published by rapids-bot[bot] 7 months ago
dask-cuda - v25.06.00
🚨 Breaking Changes
- Add function to get device handle and fix MIG handle (#1476) @pentschev
🐛 Bug Fixes
- Disable codecov step in custom
test-ucxxworkflow (#1473) @pentschev - Add separate
build-ucxxworkflow (#1472) @pentschev - Make workflows reusable (#1471) @pentschev
- Register OwnerWithCAI with dask.utils.sizeof (#1468) @TomAugspurger
- Add missing
runs-ontoucxx-python-tests(#1463) @pentschev - Workaround hang with dask main and explicit comms (#1462) @TomAugspurger
- Updated shuffle for new setattr (#1459) @TomAugspurger
🚀 New Features
- Add UCXX blocking tests in nightly CI runs (#1494) @pentschev
- Add UCXX tests as separate nightly workflow (#1470) @pentschev
- Enable UCXX nightly tests (#1461) @pentschev
🛠️ Improvements
- provide input 'script' for build workflow (#1499) @jameslamb
- use 'rapids-init-pip' in wheel CI, other CI changes (#1496) @jameslamb
- Fixed flaky
test_cudf_cluster_device_spilltest (#1492) @TomAugspurger - Prepare for removal of cudf.BaseIndex (#1488) @mroeschke
- Fix persist usage in tests (#1487) @TomAugspurger
- Finish CUDA 12.9 migration and use branch-25.06 workflows (#1485) @bdice
- Quote head_rev in conda recipes (#1482) @bdice
- Build and test with CUDA 12.9.0 (#1481) @bdice
- chore: set remaining workflows to python3.13 (#1480) @gforsyth
- chore: bump upper bound of numba for python 3.13 support (#1479) @gforsyth
- Add function to get device handle and fix MIG handle (#1476) @pentschev
- feat: add support for Python 3.13 (#1475) @gforsyth
- Download build artifacts from Github for CI (#1469) @VenkateshJaya
- Add ARM conda environments (#1466) @bdice
- Port all conda recipes to
rattler-build(#1460) @gforsyth - chore(conda): enable strict channel priority for conda build (#1458) @gforsyth
- Moving wheel builds to specified location and uploading build artifacts to Github (#1457) @VenkateshJaya
- Python
Published by raydouglass 9 months ago
dask-cuda - [NIGHTLY] v25.08.00
🔗 Links
🚨 Breaking Changes
- stop uploading packages to downloads.rapids.ai (#1501) @jameslamb
🛠️ Improvements
- stop uploading packages to downloads.rapids.ai (#1501) @jameslamb
- Forward-merge branch-25.06 into branch-25.08 (#1489) @gforsyth
- Forward-merge branch-25.06 into branch-25.08 (#1483) @gforsyth
- Forward-merge branch-25.06 into branch-25.08 (#1478) @gforsyth
- Python
Published by rapids-bot[bot] 9 months ago
dask-cuda - v25.04.00
🐛 Bug Fixes
- Avoid stale CommContext in explicit comms (#1451) @TomAugspurger
- Added pytest-timeout to test dependencies (#1433) @TomAugspurger
🛠️ Improvements
- Use conda-build instead of conda-mambabuild (#1454) @bdice
- ensure daskcuda.gitcommit__ is populated (#1453) @jameslamb
- Consolidate more Conda solves in CI (#1452) @KyleFromNVIDIA
- Create Conda CI test env in one step (#1448) @KyleFromNVIDIA
- Use shared-workflows branch-25.04 (#1446) @bdice
- add telemetry (#1445) @msarahan
- Add build_type input field for
test.yaml(#1444) @gforsyth - Use
rapids-pip-retryin CI jobs that might need retries (#1443) @gforsyth - Make
dask.dataframeoptional (#1439) @rjzamora - Forward-merge branch-25.02 to branch-25.04 (#1437) @bdice
- Migrate to NVKS for amd64 CI runners (#1435) @bdice
- Merge branch-25.02 into branch-25.04 (#1431) @gforsyth
- Add verify-copyright pre-commit hook (#1423) @gforsyth
- Python
Published by AyodeAwe 11 months ago
dask-cuda - [NIGHTLY] v25.06.00
🔗 Links
🐛 Bug Fixes
- Register OwnerWithCAI with dask.utils.sizeof (#1468) @TomAugspurger
- Add missing
runs-ontoucxx-python-tests(#1463) @pentschev - Workaround hang with dask main and explicit comms (#1462) @TomAugspurger
- Updated shuffle for new setattr (#1459) @TomAugspurger
🚀 New Features
- Enable UCXX nightly tests (#1461) @pentschev
🛠️ Improvements
- Add ARM conda environments (#1466) @bdice
- Port all conda recipes to
rattler-build(#1460) @gforsyth - chore(conda): enable strict channel priority for conda build (#1458) @gforsyth
- Moving wheel builds to specified location and uploading build artifacts to Github (#1457) @VenkateshJaya
- Python
Published by rapids-bot[bot] 11 months ago
dask-cuda - v24.12.00
🚨 Breaking Changes
- Add warmup runs and profile all iterations to benchmarks (#1402) @pentschev
🐛 Bug Fixes
- Disable UCXX tests in CI (#1406) @pentschev
- Ignore legacy Dask dataframe warnings (#1397) @pentschev
- Reenable UCXX in CI (#1396) @pentschev
🚀 New Features
- Enable Pytorch to share same memory pool as RMM via cli (#1392) @VibhuJawa
🛠️ Improvements
- enforce wheel size limits, README formatting in CI (#1404) @jameslamb
- Add warmup runs and profile all iterations to benchmarks (#1402) @pentschev
- remove unnecessary cmake and sccache configuration (#1400) @jameslamb
- make conda installs in CI stricter (#1395) @jameslamb
- Limit output of pytest durations (#1393) @pentschev
- Switch pytest
tracebacktonative(#1389) @galipremsagar - Update PyNVML and set upper pin (#1130) @wence-
- Python
Published by GPUtester about 1 year ago
dask-cuda - [NIGHTLY] v25.02.00
🔗 Links
🚨 Breaking Changes
- Remove legacy Dask-cuDF handling (#1417) @rjzamora
🐛 Bug Fixes
- Reorganize CI tests and benchmarks (#1440) @pentschev
- Clean up imports for
dask>2024.12.1support (#1424) @rjzamora - Add warnings and docs for affinity set failure (#1420) @pentschev
- Add missing
setuptoolsto conda recipe (#1418) @pentschev
📖 Documentation
- Introduce UCX connect timeouts in docs (#1428) @pentschev
🚀 New Features
- Remove legacy Dask-cuDF handling (#1417) @rjzamora
🛠️ Improvements
- Revert CUDA 12.8 shared workflow branch changes (#1436) @vyasr
- Build and test with CUDA 12.8.0 (#1432) @bdice
- remove ucx-proc dependency (#1429) @jameslamb
- Add shellcheck to pre-commit and fix warnings (#1427) @gforsyth
- Add upper bound to prevent usage of numba 0.61.0 (#1426) @galipremsagar
- Template Conda recipe's
requirements/host(#1425) @jakirkham - Always test
pynvml(#1421) @pentschev - Use PyNVML 12 (#1419) @jakirkham
- Add wheel tests to CI (#1416) @gforsyth
- Update version references in workflow (#1413) @AyodeAwe
- Require approval to run CI on draft PRs (#1412) @bdice
- Add breaking change workflow trigger (#1403) @AyodeAwe
- Python
Published by rapids-bot[bot] over 1 year ago
dask-cuda - v24.10.00
🚨 Breaking Changes
- Replace cuDF (de)serializer with cuDF spill-aware (de)serializer (#1369) @pentschev
📖 Documentation
- Fix typo in spilling documentation (#1384) @rjzamora
- Add notes on cudf spilling to docs (#1383) @rjzamora
🚀 New Features
- [Benchmark] Add parquet read benchmark (#1371) @rjzamora
- Replace cuDF (de)serializer with cuDF spill-aware (de)serializer (#1369) @pentschev
🛠️ Improvements
- Update update-version.sh to use packaging lib (#1387) @AyodeAwe
- Use CI workflow branch 'branch-24.10' again (#1386) @jameslamb
- Update to flake8 7.1.1. (#1385) @bdice
- enable Python 3.12 tests on PRs (#1382) @jameslamb
- Add support for Python 3.12 (#1380) @jameslamb
- Update rapidsai/pre-commit-hooks (#1379) @KyleFromNVIDIA
- Drop Python 3.9 support (#1377) @jameslamb
- Remove NumPy <2 pin (#1375) @seberg
- Update pre-commit hooks (#1373) @KyleFromNVIDIA
- Merge branch-24.08 into branch-24.10 (#1368) @jameslamb
- Python
Published by raydouglass over 1 year ago
dask-cuda - v24.08.00
🐛 Bug Fixes
- Fix partitioning in explicit-comms shuffle (#1356) @rjzamora
- Update cuDF's
assert_eqimport (#1353) @pentschev
🚀 New Features
- Add arguments to enable cuDF spilling and set statistics (#1362) @pentschev
- Allow disabling RMM in benchmarks (#1352) @pentschev
🛠️ Improvements
- consolidate cuda_suffixed=false blocks in dependencies.yaml, fix update-version.sh (#1367) @jameslamb
- split up CUDA-suffixed dependencies in dependencies.yaml (#1364) @jameslamb
- Use verify-alpha-spec hook (#1360) @KyleFromNVIDIA
- Use workflow branch 24.08 again (#1359) @KyleFromNVIDIA
- Build and test with CUDA 12.5.1 (#1357) @KyleFromNVIDIA
- Drop
setup.py(#1354) @jakirkham - remove .gitattributes (#1350) @jameslamb
- make conda recipe data-loading stricter (#1349) @jameslamb
- Adopt CI/packaging codeowners (#1347) @bdice
- Remove text builds of documentation (#1346) @vyasr
- use rapids-build-backend (#1343) @jameslamb
- Python
Published by raydouglass over 1 year ago
dask-cuda - v24.06.00
🐛 Bug Fixes
- Fix license name (#1337) @raydouglass
- Skip TCP-only DGX tests with UCX 1.16 (#1331) @pentschev
- Update explicit-comms for dask-expr support (#1323) @rjzamora
- Skip explicit-comms tests when dask-expr is active (#1322) @rjzamora
- Relax type-check in
test_proxy.py(#1321) @rjzamora
📖 Documentation
- Fix broken links in docs (#1329) @pentschev
🛠️ Improvements
- remove 'tomli' dependency (#1338) @jameslamb
- Trap CI test errors with their original exit codes (#1330) @pentschev
- Prevent path conflict in builds (#1325) @AyodeAwe
- Python
Published by raydouglass over 1 year ago
dask-cuda - v24.04.00
🐛 Bug Fixes
- handle more RAPIDS version formats in update-version.sh (#1307) @jameslamb
🚀 New Features
- Allow using pandas 2 (#1308) @vyasr
- Support CUDA 12.2 (#1302) @jameslamb
🛠️ Improvements
- Use
conda env create --yesinstead of--force(#1326) @bdice - Add upper bound to prevent usage of NumPy 2 (#1320) @bdice
- Generalize GHA selectors for pure Python testing (#1318) @jakirkham
- Requre NumPy 1.23+ (#1316) @jakirkham
- Add support for Python 3.11 (#1315) @jameslamb
- target branch-24.04 for GitHub Actions workflows (#1314) @jameslamb
- Filter dd deprecation (#1312) @rjzamora
- Update ops-bot.yaml (#1310) @AyodeAwe
- Python
Published by raydouglass almost 2 years ago
dask-cuda - [NIGHTLY] v24.06.00
🔗 Links
🐛 Bug Fixes
- Skip explicit-comms tests when dask-expr is active (#1322) @rjzamora
- Relax type-check in
test_proxy.py(#1321) @rjzamora
- Python
Published by rapids-bot[bot] almost 2 years ago
dask-cuda - v24.02.00
🚨 Breaking Changes
- Publish nightly wheels to NVIDIA index instead of PyPI (#1294) @pentschev
🐛 Bug Fixes
- Fix getdevicememory_ids (#1305) @wence-
- Prevent double UCX initialization in
test_dgx(#1301) @pentschev - Update to Dask's
shuffle_methodkwarg (#1300) @pentschev - Add timeout to
test_dask_use_explicit_comms(#1298) @pentschev - Publish nightly wheels to NVIDIA index instead of PyPI (#1294) @pentschev
- Make versions PEP440 compliant (#1279) @vyasr
- Generate pyproject.toml with dfg (#1276) @vyasr
- Fix rapids dask dependency version (#1275) @vyasr
🛠️ Improvements
- Remove usages of rapids-env-update (#1304) @KyleFromNVIDIA
- refactor CUDA versions in dependencies.yaml (#1303) @jameslamb
- Start generating conda test environments (#1291) @charlesbluca
- Branch 24.02 merge branch 23.12 (#1286) @vyasr
- Python
Published by raydouglass about 2 years ago
dask-cuda - [NIGHTLY] v24.04.00
🔗 Links
🐛 Bug Fixes
- handle more RAPIDS version formats in update-version.sh (#1307) @jameslamb
🚀 New Features
- Allow using pandas 2 (#1308) @vyasr
- Python
Published by rapids-bot[bot] about 2 years ago
dask-cuda - v23.12.00
🐛 Bug Fixes
- Update actions/labeler to v4 (#1292) @raydouglass
- Increase Nanny close timeout for
test_spilling_local_cuda_cluster(#1289) @pentschev - Fix path (#1277) @vyasr
- Add missing alpha spec (#1273) @vyasr
- Set minimum click to 8.1 (#1272) @jacobtomlinson
- Reenable tests that were segfaulting (#1266) @pentschev
- Increase close timeout of
NannyinLocalCUDACluster(#1260) @pentschev - Small reorganization and fixes for
test_spill(#1255) @pentschev - Update plugins to inherit from
WorkerPlugin(#1230) @jrbourbeau
🚀 New Features
- Add support for UCXX (#1268) @pentschev
🛠️ Improvements
- Fix license (#1285) @vyasr
- Build concurrency for nightly and merge triggers (#1282) @bdice
- Use new
rapids-dask-dependencymetapackage for managing dask versions (#1270) @galipremsagar - Remove
ucp.reset()requirement fromtest_dgx(#1269) @pentschev - Generate proper, consistent nightly versions for pip and conda packages (#1267) @galipremsagar
- Unpin
daskanddistributedfor23.12development (#1264) @galipremsagar - Move some
dask_cuda.utilspieces to their own modules (#1263) @pentschev - Update
shared-action-workflowsreferences (#1261) @AyodeAwe - Use branch-23.12 workflows. (#1259) @bdice
- dask-cuda: Build CUDA 12.0 ARM conda packages. (#1238) @bdice
- Python
Published by raydouglass about 2 years ago
dask-cuda - [NIGHTLY] v24.02.00
🔗 Links
🐛 Bug Fixes
- Make versions PEP440 compliant (#1279) @vyasr
- Generate pyproject.toml with dfg (#1276) @vyasr
- Fix rapids dask dependency version (#1275) @vyasr
🛠️ Improvements
- Branch 24.02 merge branch 23.12 (#1286) @vyasr
- Python
Published by rapids-bot[bot] about 2 years ago
dask-cuda - [NIGHTLY] v23.12.00
🔗 Links
🐛 Bug Fixes
- Reenable tests that were segfaulting (#1266) @pentschev
- Increase close timeout of
NannyinLocalCUDACluster(#1260) @pentschev - Small reorganization and fixes for
test_spill(#1255) @pentschev - Update plugins to inherit from
WorkerPlugin(#1230) @jrbourbeau
🛠️ Improvements
- Generate proper, consistent nightly versions for pip and conda packages (#1267) @galipremsagar
- Unpin
daskanddistributedfor23.12development (#1264) @galipremsagar - Move some
dask_cuda.utilspieces to their own modules (#1263) @pentschev - Update
shared-action-workflowsreferences (#1261) @AyodeAwe - Use branch-23.12 workflows. (#1259) @bdice
- dask-cuda: Build CUDA 12.0 ARM conda packages. (#1238) @bdice
- Python
Published by rapids-bot[bot] over 2 years ago
dask-cuda - v23.10.00
🐛 Bug Fixes
- Monkeypatch protocol.loads ala dask/distributed#8216 (#1247) @wence-
- Explicit-comms: preserve partition IDs (#1240) @madsbk
- Increase test timeouts further to reduce CI failures (#1234) @pentschev
- Use
conda mambabuildnotmamba mambabuild(#1231) @bdice - Increate timeouts of tests that frequently timeout in CI (#1228) @pentschev
- Adapt to non-string task keys in distributed (#1225) @wence-
- Update
test_worker_timeout(#1223) @pentschev - Avoid importing
loads_functionfrom distributed (#1220) @rjzamora
🚀 New Features
- Enable maximum pool size for RMM async allocator (#1221) @pentschev
🛠️ Improvements
- Pin
daskanddistributedfor23.10release (#1251) @galipremsagar - Update
test_spill.pyto avoidFutureWarnings (#1243) @pentschev - Remove obsolete pytest
filterwarnings(#1241) @pentschev - Update image names (#1233) @AyodeAwe
- Use
copy-pr-bot(#1227) @ajschmidt8 - Unpin
daskanddistributedfor23.10development (#1222) @galipremsagar
- Python
Published by raydouglass over 2 years ago
dask-cuda - v23.08.00
🐛 Bug Fixes
- Ensure plugin config can be passed from worker to client (#1212) @wence-
- Adjust to new
get_default_shuffle_methodname (#1200) @pentschev - Increase minimum timeout to wait for workers in CI (#1192) @pentschev
📖 Documentation
- Remove RTD configuration and references to RTD page (#1211) @charlesbluca
- Clarify
memory_limitdocs (#1207) @pentschev
🚀 New Features
- Remove versioneer (#1204) @pentschev
- Remove code for Distributed<2023.5.1 compatibility (#1191) @pentschev
- Specify disk spill compression based on Dask config (#1190) @pentschev
🛠️ Improvements
- Pin
daskanddistributedfor23.08release (#1214) @galipremsagar - Revert CUDA 12.0 CI workflows to branch-23.08. (#1210) @bdice
- Use minimal Numba dependencies for CUDA 12 (#1209) @jakirkham
- Aggregate reads & writes in
disk_io(#1205) @jakirkham - CUDA 12 Support (#1201) @quasiben
- Remove explicit UCX config from tests (#1199) @pentschev
- use rapids-upload-docs script (#1194) @AyodeAwe
- Unpin
daskanddistributedfor development (#1189) @galipremsagar - Remove documentation build scripts for Jenkins (#1187) @ajschmidt8
- Use KvikIO in Dask-CUDA (#925) @jakirkham
- Python
Published by raydouglass over 2 years ago
dask-cuda - [NIGHTLY] v23.10.00
🔗 Links
🐛 Bug Fixes
- Use
conda mambabuildnotmamba mambabuild(#1231) @bdice - Increate timeouts of tests that frequently timeout in CI (#1228) @pentschev
- Adapt to non-string task keys in distributed (#1225) @wence-
- Update
test_worker_timeout(#1223) @pentschev - Avoid importing
loads_functionfrom distributed (#1220) @rjzamora
🚀 New Features
- Enable maximum pool size for RMM async allocator (#1221) @pentschev
🛠️ Improvements
- Update image names (#1233) @AyodeAwe
- Use
copy-pr-bot(#1227) @ajschmidt8 - Unpin
daskanddistributedfor23.10development (#1222) @galipremsagar
- Python
Published by rapids-bot[bot] over 2 years ago
dask-cuda - v23.06.00
🚨 Breaking Changes
- Update minimum Python version to Python 3.9 (#1164) @shwina
🐛 Bug Fixes
- Increase pytest CI timeout (#1196) @pentschev
- Increase minimum timeout to wait for workers in CI (#1193) @pentschev
- Disable
np.booldeprecation warning (#1182) @pentschev - Always upload on branch/nightly builds (#1177) @raydouglass
- Workaround for
DeviceHostFiletests with CuPy>=12.0.0 (#1175) @pentschev - Temporarily relax Python constraint (#1166) @vyasr
📖 Documentation
- [doc] Add document about main guard. (#1157) @trivialfis
🚀 New Features
- Require Numba 0.57.0+ (#1185) @jakirkham
- Revert "Temporarily relax Python constraint" (#1171) @vyasr
- Update to zict 3.0 (#1160) @pentschev
🛠️ Improvements
- Add
__main__entrypoint to dask-cuda-worker CLI (#1181) @hmacdope - run docs nightly too (#1176) @AyodeAwe
- Fix GHAs Workflows (#1172) @ajschmidt8
- Remove
matrix_filterfrom workflows (#1168) @charlesbluca - Revert to branch-23.06 for shared-action-workflows (#1167) @shwina
- Update minimum Python version to Python 3.9 (#1164) @shwina
- Remove usage of rapids-get-rapids-version-from-git (#1163) @jjacobelli
- Use ARC V2 self-hosted runners for GPU jobs (#1159) @jjacobelli
- Python
Published by raydouglass over 2 years ago
dask-cuda - v23.04.00
🚨 Breaking Changes
- Pin
daskanddistributedfor release (#1153) @galipremsagar - Update minimum
pandasandnumpypinnings (#1139) @galipremsagar
🐛 Bug Fixes
- Rectify
dask-corepinning in pip requirements (#1155) @galipremsagar - Monkey patching all locations of
get_default_shuffle_algorithm(#1142) @madsbk - Update usage of
get_worker()in tests (#1141) @pentschev - Update
rmm_cupy_allocatorusage (#1138) @jakirkham - Serialize of
ProxyObjectto pickle fixed attributes (#1137) @madsbk - Explicit-comms: update monkey patching of Dask (#1135) @madsbk
- Fix for bytes/str discrepancy after PyNVML update (#1118) @pentschev
🚀 New Features
- Allow specifying dashboard address in benchmarks (#1147) @pentschev
- Add argument to enable RMM alloaction tracking in benchmarks (#1145) @pentschev
- Reinstate
--death-timeoutCLI option (#1140) @charlesbluca - Extend RMM async allocation support (#1116) @pentschev
- Allow using stream-ordered and managed RMM allocators in benchmarks (#1012) @pentschev
🛠️ Improvements
- Pin
daskanddistributedfor release (#1153) @galipremsagar - Update minimum
pandasandnumpypinnings (#1139) @galipremsagar - Drop Python 3.7 handling for pickle protocol 4 (#1132) @jakirkham
- Adapt to rapidsai/rmm#1221 which moves allocator callbacks (#1129) @wence-
- Merge
branch-23.02intobranch-23.04(#1128) @ajschmidt8 - Template Conda recipe's
aboutmetadata (#1121) @jakirkham - Fix GHA build workflow (#1120) @AjayThorve
- Reduce error handling verbosity in CI tests scripts (#1113) @AjayThorve
- Update shared workflow branches (#1112) @ajschmidt8
- Remove gpuCI scripts. (#1111) @bdice
- Unpin
daskanddistributedfor development (#1110) @galipremsagar - Move date to build string in
condarecipe (#1103) @ajschmidt8
- Python
Published by raydouglass almost 3 years ago
dask-cuda - v23.02.01
🚨 Breaking Changes
- Pin
daskanddistributedfor release (#1106) @galipremsagar
🐛 Bug Fixes
- Pin to pynvml < 11.5 (#1123) @wence-
- pre-commit: Update isort version to 5.12.0 (#1098) @wence-
- explicit-comms: don't mix
-and_in config (#1096) @madsbk - Update
cudf.Bufferpointer access method (#1094) @pentschev - Update tests for Python 3.10 (#1086) @pentschev
- Use
pkgutil.iter_modulesto get un-imported module fortest_pre_import(#1085) @charlesbluca - Make proxy tests with
LocalCUDAClusterasynchronous (#1084) @pentschev - Ensure consistent results from
safe_sizeof()in test (#1071) @madsbk - Pass missing argument to groupby benchmark compute (#1069) @mattf
- Reorder channel priority. (#1067) @bdice
- Fix owner check when the owner is a cupy array (#1061) @wence-
🛠️ Improvements
- Pin
daskanddistributedfor release (#1106) @galipremsagar - Update shared workflow branches (#1105) @ajschmidt8
- Proxify: make duplicate check optional (#1101) @madsbk
- Fix whitespace & add URLs in
pyproject.toml(#1092) @jakirkham - pre-commit: spell, whitespace, and mypy check (#1091) @madsbk
- shuffle: use cuDF's
partition_by_hash()when available (#1090) @madsbk - add initial docs build (#1089) @AjayThorve
- Remove
--get-cluster-configurationoption, check for scheduler indask cuda config(#1088) @charlesbluca - Add timeout to
pytestcommand (#1082) @ajschmidt8 - shuffle-benchmark: add
--partition-distribution(#1081) @madsbk - Ensure tests run for Python
3.10(#1080) @ajschmidt8 - Use TrackingResourceAdaptor to get better debug info (#1079) @madsbk
- Improve shuffle-benchmark (#1074) @madsbk
- Update builds for CUDA
11.8and Python310(#1072) @ajschmidt8 - Shuffle by partition to reduce memory usage significantly (#1068) @madsbk
- Enable copy_prs. (#1063) @bdice
- Add GitHub Actions Workflows (#1062) @bdice
- Unpin
daskanddistributedfor development (#1060) @galipremsagar - Switch to the new dask CLI (#981) @jacobtomlinson
- Python
Published by raydouglass about 3 years ago
dask-cuda - v23.02.00
🚨 Breaking Changes
- Pin
daskanddistributedfor release (#1106) @galipremsagar
🐛 Bug Fixes
- pre-commit: Update isort version to 5.12.0 (#1098) @wence-
- explicit-comms: don't mix
-and_in config (#1096) @madsbk - Update
cudf.Bufferpointer access method (#1094) @pentschev - Update tests for Python 3.10 (#1086) @pentschev
- Use
pkgutil.iter_modulesto get un-imported module fortest_pre_import(#1085) @charlesbluca - Make proxy tests with
LocalCUDAClusterasynchronous (#1084) @pentschev - Ensure consistent results from
safe_sizeof()in test (#1071) @madsbk - Pass missing argument to groupby benchmark compute (#1069) @mattf
- Reorder channel priority. (#1067) @bdice
- Fix owner check when the owner is a cupy array (#1061) @wence-
🛠️ Improvements
- Pin
daskanddistributedfor release (#1106) @galipremsagar - Update shared workflow branches (#1105) @ajschmidt8
- Proxify: make duplicate check optional (#1101) @madsbk
- Fix whitespace & add URLs in
pyproject.toml(#1092) @jakirkham - pre-commit: spell, whitespace, and mypy check (#1091) @madsbk
- shuffle: use cuDF's
partition_by_hash()when available (#1090) @madsbk - add initial docs build (#1089) @AjayThorve
- Remove
--get-cluster-configurationoption, check for scheduler indask cuda config(#1088) @charlesbluca - Add timeout to
pytestcommand (#1082) @ajschmidt8 - shuffle-benchmark: add
--partition-distribution(#1081) @madsbk - Ensure tests run for Python
3.10(#1080) @ajschmidt8 - Use TrackingResourceAdaptor to get better debug info (#1079) @madsbk
- Improve shuffle-benchmark (#1074) @madsbk
- Update builds for CUDA
11.8and Python310(#1072) @ajschmidt8 - Shuffle by partition to reduce memory usage significantly (#1068) @madsbk
- Enable copy_prs. (#1063) @bdice
- Add GitHub Actions Workflows (#1062) @bdice
- Unpin
daskanddistributedfor development (#1060) @galipremsagar - Switch to the new dask CLI (#981) @jacobtomlinson
- Python
Published by raydouglass about 3 years ago
dask-cuda - v22.12.00
🚨 Breaking Changes
- Make local_directory a required argument for spilling impls (#1023) @wence-
🐛 Bug Fixes
- Fix
parse_memory_limitfunction call (#1055) @galipremsagar - Work around Jupyter errors in CI (#1041) @pentschev
- Fix version constraint (#1036) @wence-
- Support the new
Bufferin cudf (#1033) @madsbk - Install Dask nightly last in CI (#1029) @pentschev
- Fix recorded time in merge benchmark (#1028) @wence-
- Switch pre-import not found test to sync definition (#1026) @pentschev
- Make local_directory a required argument for spilling impls (#1023) @wence-
- Fixes for handling MIG devices (#950) @pentschev
📖 Documentation
- Merge 22.10 into 22.12 (#1016) @pentschev
- Merge 22.08 into 22.10 (#1010) @pentschev
🚀 New Features
- Allow specifying fractions as RMM pool initial/maximum size (#1021) @pentschev
- Add feature to get cluster configuration (#1006) @quasiben
- Add benchmark option to use dask-noop (#994) @wence-
🛠️ Improvements
- Ensure linting checks for whole repo in CI (#1053) @pentschev
- Pin
daskanddistributedfor release (#1046) @galipremsagar - Remove
pytest-asynciodependency (#1045) @pentschev - Migrate as much as possible to
pyproject.toml(#1035) @jakirkham - Re-implement shuffle using staging (#1030) @madsbk
- Explicit-comms-shuffle: fine control of task scheduling (#1025) @madsbk
- Remove stale labeler (#1024) @raydouglass
- Unpin
daskanddistributedfor development (#1005) @galipremsagar - Support cuDF's built-in spilling (#984) @madsbk
- Python
Published by GPUtester about 3 years ago
dask-cuda - v22.10.00
🐛 Bug Fixes
- Revert "Update rearrangebycolumn patch for explicit comms" (#1001) @rjzamora
- Address CI failures caused by upstream distributed and cupy changes (#993) @rjzamora
- DeviceSerialized.reduce_ex: convert frame to numpy arrays (#977) @madsbk
📖 Documentation
- Remove line-break that's breaking link (#982) @ntabris
- Dask-cuda best practices (#976) @quasiben
🚀 New Features
- Add Groupby benchmark (#979) @rjzamora
🛠️ Improvements
- Pin
daskanddistributedfor release (#1003) @galipremsagar - Update rearrangebycolumn patch for explicit comms (#992) @rjzamora
- benchmarks: Add option to suppress output of point to point data (#985) @wence-
- Unpin
daskanddistributedfor development (#971) @galipremsagar
- Python
Published by GPUtester over 3 years ago
dask-cuda - v22.08.00
🚨 Breaking Changes
- Fix useless property (#944) @wence-
🐛 Bug Fixes
- Fix
distributederror related toloop_in_thread(#963) @galipremsagar - Add
__rmatmul__toProxyObject(#960) @jakirkham - Always use versioneer command classes in setup.py (#948) @wence-
- Do not dispatch removed
cudf.Frame._indexobject (#947) @pentschev - Fix useless property (#944) @wence-
- LocalCUDACluster's memory limit:
Nonemeans no limit (#943) @madsbk - ProxyManager: support
memory_limit=None(#941) @madsbk - Remove deprecated
loopkwarg toNannyinCUDAWorker(#934) @pentschev - Import
cleanupfixture intest_dask_cuda_worker.py(#924) @pentschev
📖 Documentation
- Switch docs to use common
js&csscode (#967) @galipremsagar - Switch
languagefromNoneto"en"in docs build (#939) @galipremsagar
🚀 New Features
- Add communications bandwidth to benchmarks (#938) @pentschev
🛠️ Improvements
- Pin
dask&distributedfor release (#965) @galipremsagar - Test memory_limit=None for CUDAWorker (#946) @wence-
- benchmarks: Record total number of workers in dataframe (#945) @wence-
- Benchmark refactoring: tidy data and multi-node capability via
--scheduler-file(#940) @wence- - Add util functions to simplify printing benchmarks results (#937) @pentschev
- Add --multiprocessing-method option to benchmarks (#933) @wence-
- Remove click pinning (#932) @charlesbluca
- Remove compiler variables (#929) @ajschmidt8
- Unpin
dask&distributedfor development (#927) @galipremsagar
- Python
Published by GPUtester over 3 years ago
dask-cuda - v22.06.00
🚨 Breaking Changes
- Upgrade
numbapinning to be in-line with rest of rapids (#912) @galipremsagar
🐛 Bug Fixes
- Reduce
test_cudf_cluster_device_spilltest and speed it up (#918) @pentschev - Update ImportError tests with --pre-import (#914) @pentschev
- Add xfail mark to
test_pre_import_not_found(#908) @pentschev - Increase spill tests timeout to 30 seconds (#901) @pentschev
- Fix errors related with
distributed.worker.memory.terminate(#900) @pentschev - Skip tests on import error for some optional packages (#899) @pentschev
- Update auto host_memory computation when threads per worker > 1 (#896) @ayushdg
- Update black to 22.3.0 (#889) @charlesbluca
- Remove legacy
check_python_3(#886) @pentschev
📖 Documentation
- Add documentation for
RAPIDS_NO_INITIALIZE(#898) @charlesbluca - Use upstream warning functions for CUDA initialization (#894) @charlesbluca
🛠️ Improvements
- Pin
daskanddistributedfor release (#922) @galipremsagar - Pin
dask&distributedfor release (#916) @galipremsagar - Upgrade
numbapinning to be in-line with rest of rapids (#912) @galipremsagar - Removing test of
cudf.merge_sorted()(#905) @madsbk - Disable
include-ignoredcoverage warnings (#903) @pentschev - Fix ci/local script (#902) @Ethyling
- Use conda to build python packages during GPU tests (#897) @Ethyling
- Pull
requirements.txtinto Conda recipe (#893) @jakirkham - Unpin
dask&distributedfor development (#892) @galipremsagar - Build packages using mambabuild (#846) @Ethyling
- Python
Published by GPUtester over 3 years ago
dask-cuda - v22.04.00
🚨 Breaking Changes
- Introduce incompatible-types and enables spilling of CuPy arrays (#856) @madsbk
🐛 Bug Fixes
- Resolve build issues / consistency with conda-forge packages (#883) @charlesbluca
- Increase testworkerforcespillto_disk timeout (#857) @pentschev
📖 Documentation
- Remove description from non-existing
--nprocsCLI argument (#852) @pentschev
🚀 New Features
- Add --pre-import/pre_import argument (#854) @pentschev
- Remove support for UCX < 1.11.1 (#830) @pentschev
🛠️ Improvements
- Raise
ImportErrorwhen platform is not Linux (#885) @pentschev - Temporarily disable new
ops-botfunctionality (#880) @ajschmidt8 - Pin
dask&distributed(#878) @galipremsagar - Upgrade min
dask&distributedversions (#872) @galipremsagar - Add
.github/ops-bot.yamlconfig file (#871) @ajschmidt8 - Make Dask CUDA work with the new WorkerMemoryManager abstraction (#870) @shwina
- Implement ProxifyHostFile.evict() (#862) @madsbk
- Introduce incompatible-types and enables spilling of CuPy arrays (#856) @madsbk
- Spill to disk clean up (#853) @madsbk
- ProxyObject to support matrix multiplication (#849) @madsbk
- Unpin max dask and distributed (#847) @galipremsagar
- test_gds: skip if GDS is not available (#845) @madsbk
- ProxyObject implement array_function (#843) @madsbk
- Add option to track RMM allocations (#842) @shwina
- Python
Published by GPUtester almost 4 years ago
dask-cuda - v22.02.00
🐛 Bug Fixes
- Ignore
DeprecationWarningfromdistutils.Versionclasses (#823) @pentschev - Handle explicitly disabled UCX transports (#820) @pentschev
- Fix regex pattern to match to in testondemanddebuginfo (#819) @pentschev
- Fix skipping GDS test if cucim is not installed (#813) @pentschev
- Unpin Dask and Distributed versions (#810) @pentschev
- Update to UCX-Py 0.24 (#805) @pentschev
📖 Documentation
- Fix Dask-CUDA version to 22.02 (#835) @jakirkham
- Merge branch-21.12 into branch-22.02 (#829) @pentschev
- Clarify
LocalCUDACluster'sn_workersdocstrings (#812) @pentschev
🚀 New Features
- Pin
dask&distributedversions (#832) @galipremsagar - Expose rmm-maximumpoolsize argument (#827) @VibhuJawa
- Simplify UCX configs, permitting UCX_TLS=all (#792) @pentschev
🛠️ Improvements
- Add avg and std calculation for time and throughput (#828) @quasiben
- sizeof test: increase tolerance (#825) @madsbk
- Query UCX-Py from gpuCI versioning service (#818) @pentschev
- Standardize Distributed config separator in getucxconfig (#806) @pentschev
- Fixed
ProxyObject.__del__to use the new Disk IO API from #791 (#802) @madsbk - GPUDirect Storage (GDS) support for spilling (#793) @madsbk
- Disk IO interface (#791) @madsbk
- Python
Published by GPUtester about 4 years ago
dask-cuda - v21.12.00
🐛 Bug Fixes
- Remove automatic
doclabeler (#807) @pentschev - Add createcudacontext UCX config from Distributed (#801) @pentschev
- Ignore deprecation warnings from pkg_resources (#784) @pentschev
- Fix parsing of device by UUID (#780) @pentschev
- Avoid creating CUDA context in LocalCUDACluster parent process (#765) @pentschev
- Remove gen_cluster spill tests (#758) @pentschev
- Update memorypausefraction in test_spill (#757) @pentschev
📖 Documentation
- Add troubleshooting page with PCI Bus ID issue description (#777) @pentschev
🚀 New Features
- Handle UCX-Py FutureWarning on UCX < 1.11.1 deprecation (#799) @pentschev
- Pin max
dask&distributedversions (#794) @galipremsagar - Update to UCX-Py 0.23 (#752) @pentschev
🛠️ Improvements
- Fix spill-to-disk triggered by Dask explicitly (#800) @madsbk
- Fix Changelog Merge Conflicts for
branch-21.12(#797) @ajschmidt8 - Use unittest.mock.patch for all os.environ tests (#787) @pentschev
- Logging when RMM allocation fails (#782) @madsbk
- Tally IDs instead of device buffers directly (#779) @madsbk
- Avoid proxy object aliasing (#775) @madsbk
- Test of sizeof proxy object (#774) @madsbk
- gc.collect when spilling on demand (#771) @madsbk
- Reenable explicit comms tests (#770) @madsbk
- Simplify JIT-unspill and writing docs (#768) @madsbk
- Increase CUDAWorker close timeout (#764) @pentschev
- Ignore known but expected test warnings (#759) @pentschev
- Spilling on demand (#756) @madsbk
- Revert "Temporarily skipping some tests because of a bug in Dask (#753)" (#754) @madsbk
- Temporarily skipping some tests because of a bug in Dask (#753) @madsbk
- Removing the
FrameProxyObjectworkaround (#751) @madsbk - Use cuDF Frame instead of Table (#748) @madsbk
- Remove proxy object locks (#747) @madsbk
- Unpin
dask&distributedin CI (#742) @galipremsagar - Update SSHCluster usage in benchmarks with new CUDAWorker (#326) @pentschev
- Python
Published by GPUtester about 4 years ago
dask-cuda - v21.10.00
🐛 Bug Fixes
- Drop test setting UCX global options via Dask config (#738) @pentschev
- Prevent CUDA context errors when testing on single-GPU (#737) @pentschev
- Handle
ucpimport error duringinitialize()(#729) @pentschev - Check if CUDA context was created in distributed.comm.ucx (#722) @pentschev
- Fix registering correct dispatches for
cudf.Index(#718) @galipremsagar - Register
percentile_lookupforFrameProxyObject(#716) @galipremsagar - Leave interface unset when ucxnetdevices unset in LocalCUDACluster (#711) @pentschev
- Update to UCX-Py 0.22 (#710) @pentschev
- Missing fixes to Distributed config namespace refactoring (#703) @pentschev
- Reset UCX-Py after rdmacm tests run (#702) @pentschev
- Skip DGX InfiniBand tests when "rc" transport is unavailable (#701) @pentschev
- Update UCX config namespace (#695) @pentschev
- Bump isort hook version (#682) @charlesbluca
📖 Documentation
- Update more docs for UCX 1.11+ (#720) @pentschev
- Forward-merge branch-21.08 to branch-21.10 (#707) @jakirkham
🚀 New Features
- Warn if CUDA context is created on incorrect device with
LocalCUDACluster(#719) @pentschev - Add
--benchmark-jsonoption to all benchmarks (#700) @charlesbluca - Remove Distributed tests from CI (#699) @pentschev
- Add device memory limit argument to benchmarks (#683) @charlesbluca
- Support for LocalCUDACluster with MIG (#674) @akaanirban
🛠️ Improvements
- Pin max
daskanddistributedversions to2021.09.1(#735) @galipremsagar - Implements a ProxyManagerDummy for convenience (#733) @madsbk
- Add
__array_ufunc__support forProxyObject(#731) @galipremsagar - Use
has_cuda_contextfrom Distributed (#723) @pentschev - Fix deadlock and simplify proxy tracking (#712) @madsbk
- JIT-unspill: support spilling to/from disk (#708) @madsbk
- Tests: replacing the obsolete cudf.testing.utils.asserteq calls (#706) @madsbk
- JIT-unspill: warn when spill to disk triggers (#705) @madsbk
- Remove max version pin for
dask&distributedon development branch (#693) @galipremsagar - ENH Replace gpucicondaretry with gpucimambaretry (#675) @dillon-cullinan
- Python
Published by GPUtester over 4 years ago
dask-cuda - v21.08.00
🐛 Bug Fixes
- Use aliases to check for installed UCX version (#692) @pentschev
- Don't install Dask main branch in CI for 21.08 release (#687) @pentschev
- Skip testgetucxnetdevices_raises on UCX >= 1.11.0 (#685) @pentschev
- Fix NVML index usage in CUDAWorker/LocalCUDACluster (#671) @pentschev
- Add --protocol flag to dask-cuda-worker (#670) @jacobtomlinson
- Fix
assert_eqrelated imports (#663) @galipremsagar - Small tweaks to make compatible with dask-mpi (#656) @jacobtomlinson
- Remove Dask version pin (#647) @pentschev
- Fix CUDAVISIBLEDEVICES tests (#638) @pentschev
- Add
make_meta_dispatchhandling (#637) @galipremsagar - Update UCX-Py version in CI to 0.21.* (#636) @pentschev
📖 Documentation
- Deprecation warning for ucxnetdevices='auto' on UCX 1.11+ (#681) @pentschev
- Update documentation on InfiniBand with UCX >= 1.11 (#669) @pentschev
- Merge branch-21.06 (#622) @pentschev
🚀 New Features
- Treat Deprecation/Future warnings as errors (#672) @pentschev
- Update parse_bytes imports to resolve deprecation warnings (#662) @pentschev
🛠️ Improvements
- Pin max
dask&distributedversions (#686) @galipremsagar - Fix DGX tests warnings on RMM pool size and file not closed (#673) @pentschev
- Remove dot calling style for pytest (#661) @quasiben
- getdevicememory_objects(): dispatch on cudf.core.frame.Frame (#658) @madsbk
- Fix
21.08forward-merge conflicts (#655) @ajschmidt8 - Fix conflicts in
643(#644) @ajschmidt8
- Python
Published by GPUtester over 4 years ago
dask-cuda - v21.06.00
🐛 Bug Fixes
- Handle
importing relocated dispatch functions (#623) @jakirkham - Fix DGX tests for UCX 1.9 (#619) @pentschev
- Add PROJECTS var (#614) @ajschmidt8
📖 Documentation
- Bump docs copyright year (#616) @charlesbluca
- Update RTD site to redirect to RAPIDS docs (#615) @charlesbluca
- Document DASKJITUNSPILL (#604) @madsbk
🚀 New Features
- Disable reuse endpoints with UCX >= 1.11 (#620) @pentschev
🛠️ Improvements
- Adding profiling to dask shuffle (#625) @arunraman
- Update
CHANGELOG.mdlinks for calver (#618) @ajschmidt8 - Fixing Dataframe merge benchmark (#617) @madsbk
- Fix DGX tests for UCX 1.10+ (#613) @pentschev
- Update docs build script (#612) @ajschmidt8
- Python
Published by GPUtester over 4 years ago
dask-cuda - v0.19.0
🐛 Bug Fixes
- Pin Dask and Distributed <=2021.04.0 (#585) @pentschev
- Unblock CI by xfailing testdataframemergeemptypartitions (#581) @pentschev
- Install Dask + Distributed from
main(#546) @jakirkham - Replace compute() calls on CuPy benchmarks by persist() (#537) @pentschev
📖 Documentation
- Add standalone examples of UCX usage (#551) @charlesbluca
- Improve UCX documentation and examples (#545) @charlesbluca
- Auto-merge branch-0.18 to branch-0.19 (#538) @GPUtester
🚀 New Features
- Add option to enable RMM logging (#542) @charlesbluca
- Add capability to log spilling (#442) @pentschev
🛠️ Improvements
- Fix UCX examples for InfiniBand (#556) @charlesbluca
- Fix list to tuple conversion (#555) @madsbk
- Add column masking operation for CuPy benchmarking (#553) @jakirkham
- Update Changelog Link (#550) @ajschmidt8
- cuDF-style operations & NVTX annotations for local CuPy benchmark (#548) @charlesbluca
- Prepare Changelog for Automation (#543) @ajschmidt8
- Add --enable-rdmacm flag to benchmarks utils (#539) @pentschev
- ProxifyHostFile: tracking of external objects (#527) @madsbk
- Test broadcast merge in localcudfmerge benchmark (#507) @rjzamora
- Python
Published by GPUtester almost 5 years ago
dask-cuda - v0.18.0
Breaking Changes 🚨
- Explicit-comms house cleaning (#515) @madsbk
Bug Fixes 🐛
- Fix device synchronization in local_cupy benchmark (#518) @pentschev
- Proxify register lazy (#492) @madsbk
- Work on deadlock issue 431 (#490) @madsbk
- Fix usage of --dashboard-address in dask-cuda-worker (#487) @pentschev
- Fail if scheduler starts with '-' in dask-cuda-worker (#485) @pentschev
Documentation 📖
- Add device synchonization for local CuPy benchmarks with Dask profiling (#533) @charlesbluca
New Features 🚀
- Shuffle benchmark (#496) @madsbk
Improvements 🛠️
- Update stale GHA with exemptions & new labels (#531) @mike-wendt
- Add GHA to mark issues/prs as stale/rotten (#528) @Ethyling
- Add operations/arguments to local CuPy array benchmark (#524) @charlesbluca
- Explicit-comms house cleaning (#515) @madsbk
- Fixing fixed-attribute-proxy-object-test (#511) @madsbk
- Prepare Changelog for Automation (#509) @ajschmidt8
- remove conditional check to start conda uploads (#504) @jolorunyomi
- ProxyObject: ignore initial fixed attribute errors (#503) @madsbk
- JIT-unspill: fix potential deadlock (#501) @madsbk
- Hostfile: register the removal of an existing key (#500) @madsbk
- proxy_object: cleanup type dispatching (#497) @madsbk
- Redesign and implementation of dataframe shuffle (#494) @madsbk
- Add --threads-per-worker option to benchmarks (#489) @pentschev
- Extend CuPy benchmark with more operations (#488) @pentschev
- Auto-label PRs based on their content (#480) @jolorunyomi
- CI: cleanup style check (#477) @madsbk
- Individual CUDA object spilling (#451) @madsbk
- FIX Move codecov upload to gpu build script (#450) @dillon-cullinan
- Add support for connecting a CUDAWorker to a cluster object (#428) @jacobtomlinson
- Python
Published by GPUtester about 5 years ago