请教一个关于cudafortran结构体并行的问题

qq_33623589 2017-07-06 03:26:46
subroutine IntegrateMomentum()
!------------------------------------------------------------------
!- Purpose -
!- 1. Integrating the momentum equations on the -
!= computational grid -
!- 2. Apply boundary conditions -
!------------------------------------------------------------------
use ParticleData
use GridData
implicit none

integer:: c, n ! loop counter
type(GridNodeProperty), POINTER :: gd
type(GridNode), POINTER :: node

do c = 1, nb_component
do n = 1, nb_gridnode
gd => grid_list(c, n)
node => node_list(n)

! Integrate momentum equation
if(istep == 1) then
gd%PXg = gd%PXg + gd%FXg * DT*0.5
else
gd%PXg = gd%PXg + gd%FXg * DT
end if
这是我想并行的代码,grid_list是一个结构体数组变量,其中结构体中元素PXg为大小为3的一维数组。
我这样声明real(8),device,allocatable::grid_list(:,:)%PXg(3),grid_list(:,:)%FXg(3)设备变量不太对,编译通不过,另外想知道kernel函数该怎么写,因为没有结构体的例子,新手不知道该怎么下手。谢谢啦
...全文
230 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

579

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧