欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://blog.csdn.net/caroline_wendy/article/details/131331049
NVIDIA A100 是一款基于 Ampere 架构的高性能 GPU,专为 AI、数据分析和高性能计算等应用场景设计。NVIDIA A100 具有以下特点:
- 支持 Tensor Float (TF32) 精度,可在不修改代码的情况下提供比前代 V100 高 20 倍的 AI 训练速度。
- 支持多实例 GPU (MIG) 技术,可将一个 A100 分割为最多七个独立的 GPU 实例,实现灵活的资源分配和利用率提升。
- 支持结构稀疏性,可在保持精度的同时将推理性能提升高达两倍。
- 提供 40GB 和 80GB 显存两种版本,可处理超大规模的模型和数据集。
- 配合 NVIDIA 的软件、网络和硬件解决方案,可构建强大的端到端 AI 和 HPC 数据中心平台。
当前张量占用:10000 * 10000 * 150 = 15 ^ 9
,一个float占用4位,约60G。
NVIDIA A100 实际占用 58169M = 58G,相差不多:
Wed Jun 21 08:55:41 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA A100-SXM... On | 00000000:62:00.0 Off | 0 |
| N/A 32C P0 77W / 400W | 58169MiB / 81251MiB | 0% Default |
| | | Disabled |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
源码:
import torch
import time
# 获取可用的GPU数量
num_gpus = torch.cuda.device_count()
# 创建一个空的列表,用来存储分配给每个GPU的张量
tensors = []
x = 10000
y = 150
print("test start")
# 设置一个无限循环
while True:
# 对每个GPU进行循环
for i in range(num_gpus):
# 设置当前设备为第i个GPU
torch.cuda.set_device(i)
for j in range(y):
# 创建一个很大的随机张量,占用大量的显存
tensor = torch.randn(x, x).cuda()
# 将张量添加到列表中
tensors.append(tensor)
# 等待所有的张量计算完成
torch.cuda.synchronize()
# 清空列表,释放显存
tensors.clear()
# 等待一秒钟,防止过度占用CPU资源
time.sleep(1)