Reverse Array
2026/6/6小于 1 分钟
Reverse Array
题目描述
编写一个 GPU 程序,原地反转 32 位浮点数数组。程序应对输入数组执行原地反转——即第 个元素与第 个元素交换。
实现要求
- 不允许使用外部库。
solve函数签名必须保持不变。- 最终结果必须存储回
input数组中。
示例
示例 1
Input: [1.0, 2.0, 3.0, 4.0]
Output: [4.0, 3.0, 2.0, 1.0]示例 2
Input: [1.5, 2.5, 3.5]
Output: [3.5, 2.5, 1.5]约束条件
- 。
- 性能测试在 的规模下进行。
解题思路
反转操作的本质是交换对称位置上的元素对。每个线程可以负责交换一对元素 ,需要 个线程。注意处理 为奇数时中间元素无需交换的情况。内存访问模式是非合并的(前半部分访问低地址,后半部分访问高地址),但交换操作使得总访问是平衡的。欢迎在 GitHub Discussions 分享你的解法。