| 查看: 561 | 回复: 0 | ||
普朗特的涡铁虫 (小有名气)
|
[求助]
使用Parallel并行编程总是报错
|
|
楼主最近在学习Parallel Studio,用的Parallel Studio XE 20·6,装在VS2015上的,参考那本《Intel Parallel Studio环境下的并行程序设计》学习。 先是在使用Amplifier的时候提示这个错误: Collection failed [Instrumentation Engine]:SYSCALL_INSPECTOR:Too long trace in the NTDLL!NtSetContextThread function Incompatible operating system or incompatible software installed on the system Pin is exiting due to fatal error 而后在把for换成cilk_for的时候,之前已经引入了#include "cilk/cilk.h"头文件,VS右侧外部引入也显示了这个,但cilk_for函数还是一直报错,提示 错误:未定义标识符“_Cilk_for” 小弟已经纠结一晚上了怎么都搞不定QAQ 最后附上程序源码: // ConsoleApplication4.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "stdio.h" #include "cilk/cilk.h" #include "windows.h" #include "mmsystem.h" #include "math.h" #pragma comment(lib, "winmm.lib" ![]() const long int VERYBIG = 10000; int main(void) { int i; long int k, sum; double sumx, sumy, total; DWORD starttime; DWORD elapsedtime; printf("None Parallel Timings for %d iterations\n\n", VERYBIG); for (i = 0; i < 6; i++) { starttime = timeGetTime(); sum = 0; total = 0.0; cilk_for (int j = 0; j < VERYBIG; j++) { sum += 1; sumx = 0.0; for (k = 0; k < j; k++) { sumx = sumx + (double)k; } sumy = 0.0; for (k = j; k < j; k--) { sumy = sumy + (double)k; } if (sumx > 0.0) total = total + 1.0 / sqrt(sumx); if (sumy > 0.0) total = total + 1.0 / sqrt(sumy); } elapsedtime = timeGetTime() - starttime; printf("Time Elapsed %10d mSecs Total=%1f Check Sum = %1d\n", (int)elapsedtime, total, sum); } return 0; } |
» 猜你喜欢
OpenAI又攻克数学难题了,离AI做有机合成还有多远?
已经有6人回复
售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急
已经有10人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有9人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有8人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有7人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有9人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有8人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有8人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有7人回复
售一区SCI文章T0P,我:8O.551.O54,科目全,可十急
已经有8人回复











回复此楼