首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Intel Devcloud中运行代码时,它将引发运行时错误。

在Intel Devcloud中运行代码时,它将引发运行时错误。
EN

Stack Overflow用户
提问于 2022-11-10 09:46:10
回答 1查看 31关注 0票数 0

我试图运行这段代码,但在intel devcloud中使用以下命令进行编译时:

代码语言:javascript
复制
icpx -qopenmp -fopenmp-targets=spir64 openmp_target_offload_clause_ordering.cpp
export OMP_TARGET_OFFLOAD=MANDATORY

它正在显示运行时错误。

代码语言:javascript
复制
#include <stdio.h>
int main() {
  double *V = reinterpret_cast<double*>(0xdeadbeef);
  printf("pointer=%p\n", V);
  #pragma omp target parallel for simd is_device_ptr(V) if(true)
  for(int i = 0; i < 1; ++i) {
    printf("pointer=%p\n", V);
  }
  #pragma omp target parallel for simd if(true) is_device_ptr(V)
  for(int i = 0; i < 1; ++i) {
    printf("pointer=%p\n", V);
  }
  return 100;
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-14 07:13:26

输入的设备指针无效。在主函数的第一行中,将(0xdeadbeef)替换为(omp_target_alloc(size, 0)),如下所示:

( reinterpret_cast(omp_target_alloc(size,0));

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74387004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档