BootGPULLM 算子刷题
T4
English

向量加法

简单

给定两个各含 N 个 float 的数组 a 和 b,把它们逐元素相加,结果写进 c:

c[i] = a[i] + b[i]

要求

  • 在所选框架的初始代码里实现 solve,签名保持不变。
    • CUDA:extern "C" void solve(const float* a, const float* b, float* c, int N)
    • Triton、PyTorch:def solve(a: torch.Tensor, b: torch.Tensor, c: torch.Tensor, N: int)
  • a、b、c 已经在 GPU 上。不要修改 a 和 b。
  • 结果原地写进 c;进入 solve 时 c 里的内容是未定义的。在 Python 里写 c = a + b 只是把局部变量名指向新张量,c 本身一个元素也没写。

示例

输入:a = [1.0, 2.0, 3.0, 4.0], b = [10.0, 20.0, 30.0, 40.0], N = 4
输出:c = [11.0, 22.0, 33.0, 44.0]
输入:a = [0.5, -1.5, 2.0], b = [-0.5, 1.0, 0.25], N = 3
输出:c = [0.0, -0.5, 2.25]

约束

  • 1 ≤ N ≤ 25,000,000
  • -1000 ≤ a[i], b[i] ≤ 1000
  • 输出与期望值之差不超过 1e-5 + 1e-5 × |期望值| 即判对
  • 性能测试规模:N = 25,000,000
solution.cu

运行只跑样例;提交跑全部用例并记为通过。