Skip to main content

我要入门

⚠ 题目描述

异构计算环境配置

你需要配置一个异构计算环境,支持初步编译并运行CUDA生态下的程序。

方案平台优点缺点备注
本地安装CUDA本地独享环境,没有时间次数限制需要本地及配有NVIDIA系独立显卡;需要额外关注安全问题和环境依赖的管理安装方法请自行寻找
使用线上Note Book线上不需要本地环境,进行线上认证即可免费使用不能独享,往往有时间和次数限制供应商推荐:阿里天池(但经常用不上)
LeetGPU线上最后的保底方案限制度最高,可以用来临时拿来写CUDA算子题;免费版有提交上限网址:https://leetgpu.com/challenges

PyTorch环境部署

你需要部署一个支持运算PyTorch程序的环境,支持运行如下的Python程序:

import os
import sys
import torch
import torch.distributed as dist
import torch.multiprocessing as mp

def run(rank, size):
sync_signal = torch.zeros(1)

if rank == 0:
dist.recv(tensor=sync_signal, src=1)
print("HPC!")
if rank == 1:
print("Hello")
dist.send(tensor=sync_signal, dst=0)
def init_process(rank, size, fn, backend='gloo'):
os.environ['MASTER_ADDR'] = '127.0.0.1'
os.environ['MASTER_PORT'] = '29500'
dist.init_process_group(backend, rank=rank, world_size=size)
fn(rank, size)


if __name__ == "__main__":
world_size = 2
processes = []
mp.set_start_method("spawn")
for rank in range(world_size):
p = mp.Process(target=init_process, args=(rank, world_size, run))
p.start()
processes.append(p)

for p in processes:
p.join()

tips

  • 某些网站的使用可能需要你科学上网。
  • 如果没有本地环境,可以先尝试通过GitHub登录 LeetGPU,完成前三道CUDA算子编程题。

要求

  • 对于HPC方向的所有题目,提交者必须完全理解自己提交文档的内容;面试时会线下考察提交者对题目的理解。

🥨分数分布

  • 如果你能完成异构计算的运行环境配置,你可以获得 50% 的分数。
  • 如果你能完成PyTorch环境的部署,你可以获得另外 50% 的分数。