Sorting
2026/6/6小于 1 分钟
Sorting
原始题目:LeetGPU - Sorting
题目描述
编写一个 GPU 程序,对 32 位浮点数数组按升序排序。可自由选择任意排序算法。结果必须写回原数组。
实现要求
- 不允许使用外部库。
solve函数签名必须保持不变。
示例
Input: [5.0, 2.0, 8.0, 1.0, 9.0, 4.0], N = 6
Output: [1.0, 2.0, 4.0, 5.0, 8.0, 9.0]约束条件
- 。
- 性能测试在 下进行。
解题思路
GPU 排序的经典选择是基数排序(Radix Sort)——适合 32 位整数/浮点数,每次按若干位分桶计数, 时间。对于浮点数,需要先将 IEEE 754 表示转换为可排序的整数编码(正数符号位翻转、负数整体翻转)。对于小 (),双调排序(Bitonic Sort) 在共享内存中也非常高效,且不需要额外内存。欢迎在 GitHub Discussions 分享你的解法。