小编gry*_*ypp的帖子

NVidia是否支持OpenCL SPIR?

我想知道nvidia是否支持spir后端?如果是的话,我找不到任何关于它的文件和示例.但如果没有,有没有办法将spir后端工作到nvidia gpus上?提前致谢

parallel-processing gpgpu nvidia opencl

8
推荐指数
1
解决办法
1394
查看次数

Power8上的OpenMP SIMD

我想知道Power8上是否有任何编译器(gcc,xlc等)支持Power8上的OpenMP SIMD结构?我试过XL(13.1),但我无法成功编译.可能它还不支持simd构造.

我可以用gcc 4.9.1编译(带有这些标志-fopenmp -fopenmp-simd-O1).我把2个asm文件之间的差异.

我可以说gcc 4.9能够生成altivec代码吗?为了更好地优化,我应该做什么?(我试过-O3,限制治疗)

我的代码非常简单:

int *x, *y, *z;
x = (int*) malloc(n * sizeof(int));
y = (int*) malloc(n * sizeof(int));
z = (int*) malloc(n * sizeof(int));   

#pragma omp simd
for(i = 0; i < N; ++i)
  z[i] = a * x[i] + y[i];
Run Code Online (Sandbox Code Playgroud)

并且生成的组件在这里

  .L7:
  lwz 9,124(31)
  extsw 9,9 
  std 9,104(31)
  lfd 0,104(31)
  stfd 0,104(31)
  ld 8,104(31)
  sldi 9,8,2
  ld 10,152(31)
  add 9,10,9
  lwz 10,124(31)
  extsw …
Run Code Online (Sandbox Code Playgroud)

powerpc simd vectorization openmp

6
推荐指数
1
解决办法
654
查看次数

在OpenACC pragma行中使用struct datatype

我正在使用CAPS OpenACC编译器.我试图在OpenACC pragma行中的struct数据类型中使用动态数组.我的代码是这样的:

struct Structure{
        int val[n];
        int length;
        int *valdyn;   
};
#pragma acc parallel copyin(sa,sb) copyout(c[0:n])
{
    #pragma acc loop 
    for (int i = 0; i < n; i++)
     c[i] = sa.valdyn[i] + sb.valdyn[i];
} 
Run Code Online (Sandbox Code Playgroud)

它编译成功.但当我试图跑,我得到了这些错误

terminate called after throwing an instance of 'hmpperr::DeviceError'
  what():  cuCtxSynchronize() failed: Launch failed (700)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是有没有办法将结构数据类型与OpenACC一起使用?此外,我的情况对结构中的struct也有效:

struct Structure{
    int val[20];
    int length; 
    struct Other_Struct *Residue ;
    int *valdyn;    
};
Run Code Online (Sandbox Code Playgroud)

c struct cuda gpgpu openacc

0
推荐指数
1
解决办法
812
查看次数