MIC中示例程序计算π
2015-01-07 20:41
197 查看
mic中编程十分简单,只需在普通程序中简单加几句就可以,使用 lspci|grep -i -co-processor 命令可以查看机器中是否插入MIC卡以及MIC卡的数目,MIC编程环境的配置这里就不讲了,下面是一个示例程序,
进行编译 icc -o PI PI.c -DDEBUG
执行 ./PI
代码成功就会显示
PASS Sample01 PI=3.141593
对上面代码进行简单更改就可以与openMP一起使用,代码如下:
进行编译 icc -fopenmp -o PI PI.c -DDEBUG
执行 ./PI
代码成功就会显示
PASS Sample01 PI=3.141593
#include<stdio.h> #include<stdlib.h> #include<math.h> int main(){ float pi=0.0f; int count=10000; int i; #pragma offload target(mic) for(i=0;i<count;i++){ float t=(float)((i+0.5f)/count) ; pi+=4.0f/(1.0f+t*t); } pi/=count; if(fabs(pi-3.14)<=0.01f) #ifdef DEBUG printf("PASS Sample01 PI=%f\n",pi); else printf("***FAIL Sample01 Pi=%f\n",pi); #else printf("PASS Sample01\n"); else printf("***FAIL Sample01\n"); #endif }
进行编译 icc -o PI PI.c -DDEBUG
执行 ./PI
代码成功就会显示
PASS Sample01 PI=3.141593
对上面代码进行简单更改就可以与openMP一起使用,代码如下:
#include<stdio.h> #include<stdlib.h> #include<math.h> int main(){ float pi=0.0f; int count=10000; int i; #pragma offload target(mic) #pragma omp parallel for reduction(+:pi) for(i=0;i<count;i++){ float t=(float)((i+0.5f)/count) ; pi+=4.0f/(1.0f+t*t); } pi/=count; if(fabs(pi-3.14)<=0.01f) #ifdef DEBUG printf("PASS Sample01 PI=%f\n",pi); else printf("***FAIL Sample01 Pi=%f\n",pi); #else printf("PASS Sample01\n"); else printf("***FAIL Sample01\n"); #endif }
进行编译 icc -fopenmp -o PI PI.c -DDEBUG
执行 ./PI
代码成功就会显示
PASS Sample01 PI=3.141593
相关文章推荐
- Hadoop学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
- 【hadoop】Hadoop学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
- 计算耗时示例程序
- php计算当前程序执行时间示例
- php计算当前程序执行时间示例
- 运行Spark提供的计算圆周率的示例程序
- 学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
- 运行Spark提供的计算圆周率的示例程序
- Hadoop学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
- 使用VSM计算文档相似度的一个程序示例
- Hadoop学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
- 一个C++程序的示例(STATIC,FRIEND)
- 利用HttpRequest登录到某个网站,然后获取网站信息的程序示例
- 一个计算质数的Java程序
- 一个字母频率分析计算小程序
- WIN32 编程示例:嵌入式式软件开发程序入门(完全从网上copy的文章)
- MSDN 中 Buffer 的 错误示例程序.
- 一个计算复数四则运算的小程序
- 一个计算质数的小程序。