拉力测试cuda pytorch 把 4070显卡拉满

复制代码
import torch
import time


def stress_test_gpu(matrix_size=16384, duration=300):
    """
    对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率

    参数:
        matrix_size: 矩阵维度大小,增大可提高计算复杂度
        duration: 测试持续时间(秒)
    """
    # 检查CUDA是否可用
    if not torch.cuda.is_available():
        print("CUDA不可用,无法进行GPU压力测试!")
        return

    # 获取GPU设备
    device = torch.device("cuda:0")
    print(f"使用GPU: {torch.cuda.get_device_name(device)}")

    # 创建大型矩阵并移到GPU
    print(f"正在创建 {matrix_size}x{matrix_size} 的矩阵...")
    a = torch.randn(matrix_size, matrix_size, device=device)
    b = torch.randn(matrix_size, matrix_size, device=device)

    # 预热GPU
    print("预热GPU中...")
    for _ in range(3):
        c = torch.matmul(a, b)
    torch.cuda.synchronize()

    # 开始压力测试
    print(f"开始GPU压力测试,持续 {duration} 秒...")
    start_time = time.time()
    iterations = 0

    try:
        while time.time() - start_time < duration:
            # 执行矩阵乘法(计算密集型操作)
            c = torch.matmul(a, b)

            # 同步设备以确保计算完成
            torch.cuda.synchronize()
            iterations += 1

            # 每10秒打印一次进度
            if iterations % 10 == 0:
                elapsed = time.time() - start_time
                print(f"已运行 {elapsed:.1f}s / {duration}s,迭代次数: {iterations}")

    except KeyboardInterrupt:
        print("测试被用户中断")

    finally:
        # 清理资源
        del a, b, c
        torch.cuda.empty_cache()

        # 计算性能指标
        elapsed = time.time() - start_time
        print(f"\n压力测试完成!")
        print(f"总运行时间: {elapsed:.2f} 秒")
        print(f"总迭代次数: {iterations}")
        print(f"平均每秒迭代: {iterations / elapsed:.2f}")


if __name__ == "__main__":
    # 可调整矩阵大小以平衡性能和显存使用
    # 16384x16384 矩阵约占用2GB显存 (4070有12GB显存)
    stress_test_gpu(matrix_size=16384, duration=300)
相关推荐
小鸡吃米…5 小时前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫6 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)6 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan6 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维6 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS6 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd6 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
njsgcs7 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
io_T_T7 小时前
迭代器 iteration、iter 与 多线程 concurrent 交叉实践(详细)
python
水如烟7 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能