Ray+GPU支持高性能计算

部署运行你感兴趣的模型镜像

前言

国内证券行业的估值定价、风险管理和量化研究,终于开始需要高性能计算了。10年前,我就试图把用 Platform Symphony 搭建的网格计算集群拉进这样的场景,不过安装好两个星期后,还是拆掉将机器变成虚拟机用了。10年后的今天,硬件、软件、开发语言、数据量级都不一样了,但鼓捣调度资源,完成计算任务的集群还是像之前那么好玩。

关于Ray

Ray 是个用c++写的 ,支持Python的分布式计算框架,结构简洁清晰,集群支持自动化部署于阿里云、AWS、微软云、GCS和本地K8S集群。

开发者桌面(Windows)安装

  • 确定自己有Nvidia显卡并装好了驱动
  • 点击链接下载安装Nvidia的通用并行计算架构CUDA
  • 如果上一步中Windows可执行程序形式的安装包不灵,建议用conda安装
    • 点击链接下载安装conda
    • 设置如下环境变量:
    CUDA_PATH:C:\ProgramData\Anaconda3
    CUDA_PATH_V11_7:C:\ProgramData\Anaconda3
    
    • 系统级环境变量Path中添加如下3个路径
    C:\ProgramData\Anaconda3
    C:\ProgramData\Anaconda3\bin
    C:\ProgramData\Anaconda3\Lib\x64
    
    • 点击链接下载安装python3.9 (ray最高支持到python3.9)
    • 安装Ray和cupy(numpy的GPU版本)
    pip install -U "ray[default]"
    pip install cupy-cuda117
    

测试代码(同时使用GPU和CPU进行浮点矩阵运算)

from datetime import datetime
import numpy as np
import cupy as cp
import ray


num_task_rounds = 1         # 发送计算任务的轮数(每个任务为1个完整场景)
num_gpu_actors = 1          # 集群上使用GPU的ray actor的数量
num_cpu_actors = 10         # 集群上使用CPU的ray actor的数量
gpu_efficiency = 30         # CPU actor执行1个任务的时间,相对GPU actor执行1个任务的时间的倍数

# 如有Ray集群,则使用远程地址
#ray.init(address="ray://##.###.##.##:10001")
ray.init()

@ray

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值