曦云系列通用计算GPU MXMACA C++编程指南
1. C++ 语言扩展
1.1. 函数执行空间标识符
1.1.1. __global__
1.1.2. __device__
1.1.3. __host__
1.1.4. 未定义的行为
1.1.5. __noinline__与__forceinline__
1.2. 变量存储空间标识符
1.2.1. __device__
1.2.2. __constant__
1.2.3. __shared__
1.2.4. __managed__
1.3. 内置类型
1.3.1. maca_bfloat16
1.3.1.1. maca_bfloat162 与 maca_bflaot16 关系
1.3.2. Half-precision floating-point format(半精度浮点格式)
1.3.2.1. IEEE 754 - 2008 半精度二进制浮点格式:binary16
1.3.2.2. 指数编码
1.3.2.3. 半精度示例
1.3.2.4. half2 与 half 关系
1.4. 内置向量类型
1.4.1. char,short,int,long,longlong,float,double
1.4.2. dim3
1.5. 内置变量
1.5.1. gridDim
1.5.2. blockIdx
1.5.3. blockDim
1.5.4. threadIdx
1.5.5. warpSize
1.6. Memory Fence函数
1.7. 同步函数
1.8. 数学函数
1.8.1. 半精度(half)算术函数
1.8.2. half2算术函数
1.8.3. half比较函数
1.8.4. half2比较函数
1.8.5. 半精度转换与数据移动函数
1.8.6. half数学函数
1.8.7. half2数学函数
1.8.8. Bfloat16算术函数
1.8.9. Bfloat162算术函数
1.8.10. Bfloat16比较函数
1.8.11. Bfloat162比较函数
1.8.12. Bfloat16精度转换与数据移动函数
1.8.13. Bfloat16数学函数
1.8.14. Bfloat162数学函数
1.8.15. 单精度数学函数
1.8.16. 双精度数学函数
1.8.17. 整数型度数学函数
1.8.18. 单精度intrinsic
1.8.19. 双精度intrinsic
1.8.20. 整数型intrinsic
1.8.21. 类型转换intrinsic
1.8.22. SIMD intrinsic
1.9. Texture函数
1.9.1. Texture Object API
1.9.1.1. tex1Dfetch()
1.9.1.2. tex1D()
1.9.2. Texture Reference API
1.9.2.1. tex1Dfetch()
1.9.2.2. tex1D()
1.10. 只读数据缓存区加载函数
1.11. 使用缓存提示的加载函数
1.12. 使用缓存提示的存储函数
1.13. 时间函数
1.14. Atomic函数
1.14.1. 算术函数
1.14.1.1. atomicAdd()
1.14.1.2. atomicSub()
1.14.1.3. atomicExch()
1.14.1.4. atomicMin()
1.14.1.5. atomicMax()
1.14.1.6. atomicInc()
1.14.1.7. atomicDec()
1.14.1.8. atomicCAS()
1.14.2. 位运算函数
1.14.2.1. atomicAnd()
1.14.2.2. atomicOr()
1.14.2.3. atomicXor()
1.15. 地址空间谓词函数
1.15.1. __isGlobal()
1.15.2. __isShared()
1.15.3. __isLocal()
1.16. 地址空间转换函数
1.16.1. __cvta_generic_to_global()
1.16.2. __cvta_generic_to_shared()
1.16.3. __cvta_generic_to_constant()
1.16.4. __cvta_generic_to_local()
1.16.5. __cvta_global_to_generic()
1.16.6. __cvta_shared_to_generic()
1.16.7. __cvta_constant_to_generic()
1.16.8. __cvta_local_to_generic()
1.17. Alloca函数
1.17.1. alloca()
1.18. 编译器优化提示函数
1.18.1. __builtin_assume_aligned()
1.18.2. __builtin_assume()
1.18.3. __assume()
1.18.4. __builtin_expect()
1.18.5. __builtin_unreachable()
1.18.6. 限制
1.19. Warp Vote函数
1.20. Warp Match函数
1.20.1. 提要
1.20.2. 描述
1.21. Warp Reduce函数
1.21.1. 提要
1.21.2. 描述
1.22. Warp Shuffle函数
1.22.1. 提要
1.22.2. 描述
1.22.3. 例子
1.23. Nanosleep函数
1.23.1. 提要
1.23.2. 描述
1.23.3. 例子
1.24. Warp matrix函数
1.24.1. 描述
1.24.2. 其他浮点类型
1.24.3. 双精度类型
1.24.4. 元素类型和矩阵形状
1.24.5. 示例
1.25. Asynchronous Data Copies
1.25.1. memcpy_async API
1.25.2. 没有memcpy_async
1.25.3. 有memcpy_async
1.26. Assert函数
1.27. Trap函数
1.28. Breakpoint函数
1.29. 格式化输出
1.29.1. Format Specifiers
1.29.2. 限制
1.29.3. 例子
1.30. 动态Global内存操作
1.30.1. 堆内存分配
1.30.2. 与host内存交互的api
1.30.3. 例子
1.30.3.1. Per Thread 分配
1.30.3.2. Per Thread block 分配
1.31. 执行配置
1.32. Launch Bounds(启动边界)
1.33. #pragma unroll
1.34. 关于内联汇编
2. Cooperative Groups
2.1. 介绍
2.2. 编程模型概念
2.2.1. 组示例
2.3. 组类型
2.3.1. 隐式组
2.3.1.1. Thread Block Group
2.3.1.2. Grid Group
2.3.1.3. Multi Grid Group
2.3.2. 显式组
2.3.2.1. Thread Block Tile
2.3.2.2. Coalesced Groups
2.4. 组分割
2.4.1. tiled_partition
2.4.2. labeled_partition
2.4.3. binary_partition
2.5. 组操作集合
2.5.1. 同步
2.5.1.1. sync
2.5.2. 数据移动
2.5.2.1. memcpy_async
2.6. Grid 同步
2.7. 多设备同步
3. C++ 语言支持
3.1. C++98 支持状态
3.2. C++11支持状态
3.3. C++14支持状态
3.4. C++17以及之后标准支持状态
曦云系列通用计算GPU MXMACA C++编程指南
搜索
请启用 JavaScript 以便使用搜索功能