dask - 在 dask 分布式中具有正确资源分配的工人示例
问题描述
有没有人有一个工作示例代码显示您可以使用client.submit
dask 分布式在这里提供的 api 有选择地使用 CPU 和 GPU 工作人员?
我正在尝试在 GPU 机器上以分布式方式使用 dask-cudf 训练 xgboost,但我无法使其尊重我为不同任务提供的资源标签
解决方案
我的朋友和同事 @pentschev (github) 想从这里向您指出这个示例: https ://github.com/dask/distributed/pull/4869#issue-909265778
import asyncio
import threading
import dask
from dask.distributed import Client, Scheduler, Worker
from distributed.threadpoolexecutor import ThreadPoolExecutor
def get_thread_name(prefix):
return prefix + threading.current_thread().name
async def main():
async with Scheduler() as s:
async with Worker(
s.address,
nthreads=5,
executor={
"GPU": ThreadPoolExecutor(1, thread_name_prefix="Dask-GPU-Threads")
},
resources={"GPU": 1, "CPU": 4},
) as w:
async with Client(s.address, asynchronous=True) as c:
with dask.annotate(resources={"CPU": 1}, executor="default"):
print(await c.submit(get_thread_name, "CPU-"))
with dask.annotate(resources={"GPU": 1}, executor="GPU"):
print(await c.submit(get_thread_name, "GPU-"))
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())
输出:
CPU-Dask-Default-Threads'-29802-2
GPU-Dask-GPU-Threads-29802-3
推荐阅读
- actions-on-google - Google 助手 - 识别音频片段并据此采取行动
- java - GreenDao 排序数据集不查询结果
- excel - Excel - Powerquery : From folder : Multiple files with unfixed starting row
- postgresql - Unix域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?
- c# - 监听 Azure Web 作业通知的自定义 Webhook 接收器
- react-router - 如何传递道具
到一个组件 - php - jQuery PHP Ajax基于进程保存多个选中框
- json - AWS API Gateway 映射模板 JSON
- python-3.x - 使用 ORM 加密 PostgreSQL 中的数据
- python - 在我的语言环境机器中设置一个现有的 django docker 项目