TypechoJoeTheme

MetMan's Blog

网站页面
搜索到 2 篇与 的结果 ———
2025-03-22

CAMx平流模块GPU CUDA移植优化

CAMx平流模块GPU CUDA移植优化
本文是对Cao et al.(2023)论文的进一步解读。GPU移植方案移植路线:Fortran代码先改成C代码,然后进一步使用CUDA C扩展改写。Fortran到C转换Fortran到C手动重写(可以借助一些转换工具)需要注意以下几点:实际上就是C/Fortran的符号链接、传参方式、数据类型对应、等价库函数以及存储方式。标准C到CUDA C转换由于Fortran不能直接调用CUDA C kernels,需要一个C接口程序用于传递参数和数据。优化手段减少CPU-GPU通信频率原来PPM平流方案Fortran实现方式不适合GPU计算。如下图所示,PPM水平平流以一维方式实现,先做x方向,再做y方向。比如x方向,核心程序hadvppm是针对x方向的一行数据进行计算,在四重嵌套循环(垂直层/平流时间子步/y方向/平流物种)内调用该程序。如果简单改写为C和CUDA C,每次只传输一行数据到GPU计算,CPU-GPU通信频繁且传输数据量小。因此,重构PPM实现,将hadvppm改写为对3D场一次性做x方向的PPM计算,这就要求将传递数据保存到三维或四维数组中,一次性传给GPU。GPU线...
2025年03月22日
14 阅读
0 评论
2025-03-22

NVIDIA CUDA Samples

NVIDIA CUDA Samples
NVIDIA官方出品的CUDA Samples工具包帮助CUDA开发者了解Nvidia GPU和CUDA Toolkit特性。项目地址:https://github.com/nvidia/cuda-samples使用要求Nvidia GPU硬件CUDA Toolkit安装下载源代码git clone https://github.com/NVIDIA/cuda-samples.git构建在cuda-samples目录下执行make命令会编译所有样例程序,生成的可执行文件放在子目录下,比如bin/x86_64/linux/releasecd cuda-samples make如果只想使用某个程序,可以进入到相应子目录执行make命令,比如cd cuda-samples/Samples/1_Utilities/deviceQuery make # 生成deviceQuery可执行程序Samples介绍可以进入样例子目录(比如cuda-samples/Samples/0_Introduction)查看README.md说明实例cd cuda-samples/bin/x86_64/l...
2025年03月22日
15 阅读
0 评论

互动读者

标签云

最新回复

  1. tqymnonccc打酱油
    2024-09-27
  2. toibdpojay打酱油
    2024-09-22
  3. yvctxyevvw打酱油
    2024-09-22
  4. frezhwzwuq打酱油
    2024-09-22
登录
X
用户名
密码