强调提交规范

This commit is contained in:
Kuohais 2025-11-13 16:19:48 +08:00
parent 0a1f63d7d1
commit 9bf06d7e4b
7 changed files with 13 additions and 22 deletions

View File

@ -4,7 +4,7 @@
import torch
import torch.nn as nn
import time
from example_torchcode import Model, get_inputs, get_init_inputs
from example_torchcode import Model,get_inputs,get_init_inputs
from example_cudacode import ModelNew
def run_benchmark():
@ -33,30 +33,17 @@ def run_benchmark():
print("-------------------- 精度对齐验证 --------------------")
with torch.no_grad():
output_torch = torch_model(*inputs)
output_torch = torch_model( *inputs)
output_cuda = cuda_model(*inputs)
# 更严格的精度检查
abs_diff = (output_torch - output_cuda).abs()
max_diff = abs_diff.max().item()
mean_diff = abs_diff.mean().item()
print(f"最大差异: {max_diff:.6f}")
print(f"平均差异: {mean_diff:.6f}")
precision_flag = torch.allclose(output_torch, output_cuda, rtol=1e-05, atol=1e-05)
precision_flag = torch.allclose(output_torch, output_cuda,rtol=1e-03)
if precision_flag:
print("✅ 精度对齐:两个模型的输出结果非常接近。")
else:
print("❌ 精度不一致!")
print("\n-------------------- 性能加速比测试 --------------------")
num_iterations = 1000 # 增加迭代次数以获得更准确的时间测量
# Warm up
for _ in range(100):
_ = torch_model(*inputs)
_ = cuda_model(*inputs)
num_iterations = 100
# PyTorch 模型计时
torch.cuda.synchronize()
@ -74,15 +61,14 @@ def run_benchmark():
torch.cuda.synchronize()
cuda_time = (time.time() - start_time) / num_iterations
print(f"PyTorch (matmul + relu) 平均执行时间: {torch_time:.6f}")
print(f"自定义 CUDA ReLU 平均执行时间: {cuda_time:.6f}")
print(f"PyTorch torch.relu 平均执行时间: {torch_time:.6f}")
print(f"自定义 CUDA 内核 平均执行时间: {cuda_time:.6f}")
speedup = 0
if cuda_time > 0:
speedup = torch_time / cuda_time
print(f"加速比 (Speedup): {speedup:.2f}x")
else:
print("CUDA 内核执行时间为0无法计算加速比。")
return precision_flag, speedup
return precision_flag,speedup
if __name__ == "__main__":
precision_flag, speedup = run_benchmark()
precision_flag,speedup = run_benchmark()

5
S1/README.md Normal file
View File

@ -0,0 +1,5 @@
# 提交前的注意事项
- 确保已经阅读了[赛题入门](https://www.gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/GPUCodeForces%E8%B5%9B%E9%A2%98%E5%85%A5%E9%97%A8.md)、[代码解读](https://www.gitlink.org.cn/ccf-ai-infra/GPUCodeForces/tree/main/GPUCodeForces%E4%BB%A3%E7%A0%81%E8%A7%A3%E8%AF%BB.md)的内容
- 你的提交包含S1/Example下的四份完整文件
- **提交时请不要更改原S1/Example/run_code.py的文件内容**