高性能运算/并行编程
XMan_Liu
积极乐天
展开
-
MPI和OpenMP优缺点比较
OpenMP(Open Multi-Processing)是一套支持跨平台共享内存方式的多线程并发的编程API,使用C,C++和Fortran语言,可以在大多数的处理器体系和操作系统中运行,包括Solaris, AIX, HP-UX, GNU/Linux, Mac OS X, 和Microsoft Windows。包括一套编译器指令、库和一些能够影响运行行为的环境变量。OpenMP采用可移植的、可扩...原创 2015-03-07 05:20:17 · 13474 阅读 · 0 评论 -
OpenMP入门(1)创建一个简单的OpenMP程序与其编译
在C/C++和Fortran中,都有编译器支持OpenMP,这里我们举一个简单的C程序的例子test.c :#ifdef _OPENMP#include #endifint main(){#pragma omp parallel { printf("is parallel ! \n"); printf("Always // \n"); }原创 2015-03-07 18:00:50 · 18891 阅读 · 3 评论 -
OpenMP入门(2)条件编译和查看线程数的函数
一般情况下,源程序中所有的行都参加编译。但有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”(conditional compile)[1]。OpenMP中的条件编译语句:#ifdef _OPENMP#endif这两行中间的源程序只会在并行编译时才会被编译下面我们学习两个跟线程数目相关的常用函数:omp_get_num_threads() 获得线程...原创 2015-03-07 23:15:29 · 6877 阅读 · 0 评论 -
在WINDOWS下编译MAGMA
MAGMA是第一个面向下一代体系架构(多核CPU和GPU)开源的线性代数软件包,它采用了诸多针对异构平台的优化方法,包括混合同步、通信避免和动态任务调度.它在功能、数据存储、接口上与 LAPACK 相似,可以 发挥 GPU 的巨大计算能力进行数值计算。[1]平台: WIN7,VS2013,Intel Parallel Studio XE 2015,CUDA7,(Nsight Debug可选,用来...原创 2015-03-27 16:42:25 · 2164 阅读 · 11 评论 -
OpenMP(3) omp_get_wtime 函数
omp_get_wtime函数可以返回从某个特殊点所经过的时间,单位秒double omp_get_wtime( );返回值:返回从任意一个一致点所经过的时间,单位秒。这个时间点在程序运行过程中必须有一致性,这样才能实现后续比较。例子:// omp_get_wtime.cpp// compile with: /openmp#include "omp.h"#include #...翻译 2015-04-27 21:26:46 · 16758 阅读 · 0 评论