并行计算
文章平均质量分 61
crazyhacking
like a hacker
展开
-
MKL程序编译与连接:Lapack篇
原帖转自我的空间:http://hi.baidu.com/coolrainbow/blog/index/1经验表明,第一次做MKL程序编译时,大多数人都会走很多弯路,编译几个小时也不成功。其实这个原因很简单,就是:懒于阅读技术文档!!!!!!事实上,本人当时就是这样,看到3000多页的MKL手册头都大了,于是在编译时就“跟着感觉走”,弄得找不到库或者函数错误。其实,花一个小时读下文档,绝对转载 2011-12-26 22:14:24 · 11079 阅读 · 0 评论 -
clmagma安装使用
一 尝试在intel+tesla平台上安装opencl,遇到很多问题。不再尝试。换amd平台1 strerror.cpp:56:8: error: ‘CL_INVALID_PROPERTY’ was not declared in this scope解答: 在 strerror.cpp中注释掉对应行Hi Evan,thanks for your email. The原创 2013-03-29 16:12:53 · 1406 阅读 · 0 评论 -
CUDA程序优化的记录
1 cuda 优化 copy函数使用cublas 库函数的程序框架1. cublasInit(); 2. 将要计算的变量拷贝到显存上3. 调用cublas core function4. 将计算后变量拷贝回到内存上5. cublasShutdown();第二和第四步的说明:将要计算的变量“放到”显存上,原创 2013-03-29 14:40:21 · 1026 阅读 · 0 评论 -
linux+fortran+openmp使用中遇到的一些问题
1运行程序发现 cannot execute binary file 描述:使用load ./可执行文件 查看 ld: warning: cannot find entry symbol _start; defaulting to 00000000004000e8earth2_omp.allloop.fromPC: In function `MAIN__':earth2原创 2013-01-14 11:58:28 · 2991 阅读 · 0 评论 -
windows Concurrency Runtime---windows的并行编程模型
原来还以为是一个多任务调度。最终发现类似于openmp或者 Windows thread pool 。Overview of the Concurrency Runtime(微软的并发运行时) This document provides an overview of the Concurrency Runtime. It describes t转载 2012-10-08 14:28:35 · 1489 阅读 · 0 评论 -
并行编程之跨平台使用SSE、AVX指令集心得——以单精度浮点数组求和为例(支持vc、gcc,兼容Windows、Linux、Mac)
作者:zyl910。 本文面对对SSE等SIMD指令集有一定基础的读者,以单精度浮点数组求和为例演示了如何跨平台使用SSE、AVX指令集。因使用了stdint、zintrin、ccpuid这三个模块,可以完全避免手工编写汇编代码,具有很高可移植性。支持vc、gcc编译器,在Windows、Linux、Mac这三大平台上成功运行。一、问题背景 最初,我们只能使用汇编语言来编写SI转载 2012-10-23 17:07:07 · 8126 阅读 · 2 评论 -
MAGMA
LAPACK + GPU = MAGMA使用gotoblas2+CUDA安装magma1.1.0(227)准备阶段:1 安装CUDA2安装cpu BLAS3安装LAPACK安装过程:1 按照README文档进行安装2 在make.inc lib'中加入-lgfortran3 出现errorgcc -O3 -DADD_ -DGPUSHMEM=130 -fPI原创 2012-06-11 16:59:31 · 3230 阅读 · 0 评论 -
浮点性能峰值,带宽的计算
CPU双精度浮点峰值:核数*主频*FU数目*(每个FU含有的浮点部件)一般来说,intel的x86架构FU数目是2,每个FU含有一个乘法部件,一个加法部件,所以每个FU含有的浮点部件=2对于单精度来说,浮点峰值=双精度浮点峰值*2这是因为使用SSE指令,长度为128位,每个计算部件可放4个单精度数,进行两次计算。原创 2012-07-12 10:46:46 · 4457 阅读 · 0 评论 -
HP Xeon 55xx上GPU的带宽问题
HP Xeon 55xx的服务器上NVIDIA GPU的带宽问题但是通过SDK的带宽测试,数值比较奇怪。host -> device 最高不到3GB/S, device-> host 最高只有3.2GB/s,这与PCI Express Gen 2.0的5-6GB/s的数据相差比较大。发现,还有其他人在相同的HP ProLiant DL370 G6的服务器上遇到类似的问转载 2012-07-24 20:33:16 · 777 阅读 · 0 评论 -
CUDA学习之CUDA程序优化
一 测量程序运行时间1主机端测时由于CUDA API函数都是异步的,为了准确测量CUDA调用运行的时间,首先要使用cudaThreadSynchronize(),同步cpu与gpu之后,才能结束测时。2设备端测时使用clock()函数,这个函数测的结果是一个block在gpu中上下文保持的时间,而不是实际执行的时间。(一般大于执行时间)二任务划分1原则划分为cpu端程序原创 2012-06-25 21:25:39 · 2347 阅读 · 0 评论 -
GPU---CUDA安装
1下载三个安装包cudatoolkit_4.2.9_linux_64_sles11.0-suseserver11sp1.run(这个要注意所使用的系统版本)gpucomputingsdk_4.2.9_linux.rundevdriver_4.2_linux_64_295.41.run 2 依次安装3个包。运行三个run文件。(1)toolkit安装时候会提示输入路径;(原创 2012-05-21 23:05:08 · 2039 阅读 · 0 评论 -
GPU入门------概念篇(硬件,CUDA,OPENCL)
(部分内容转自网络)一 硬件层次划分GPU硬件架构:一个GPU上包含多个SM(STREAMING MULTIPROCESSOR),一个SM包含8个SP(STREAMING PROCESSOR) sp: 最基本的处理单元,streaming processor 最后具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时做处理sm:多个sp加上其他的一原创 2012-05-17 15:16:15 · 3232 阅读 · 0 评论 -
PLASMA
最新版本Add LU inversion functions: PLASMA_zgetri, PLASMA_zgetri_Tile and PLASMA_zgetri_Tile_Async using the recursive parallel panel implementation of LU factorization.The householder reduc原创 2012-05-27 16:26:22 · 878 阅读 · 0 评论 -
mpich2安装
主要参考mpich2安装包中的README文档1 下载解压2 sudo ./configure --prefix=/opt/mpich2-install CC=gcc F77=ifort F90=ifort 2>&1 | tee c.txt这一步指定使用ifort,因为不指定的话自动使用gcc和gfortran。而gfortran将会使我的程序fortran-omp&mpi混原创 2012-04-20 11:13:20 · 1292 阅读 · 0 评论 -
fortran+omp:必须在程序的开头声明OMP_GET_NUM_THREADS,OMP_GET_THREAD_NUM
(1) program test1c!$ use omp_lib INTEGER TID,OMP_GET_THREAD_NUM!$omp parallel private(i) TID=OMP_GET_THREAD_NUM() print *,'threadid:',TID!$omp end pa原创 2012-03-12 15:36:06 · 6963 阅读 · 0 评论 -
openmp 循环并行化---循环嵌套内部无法并行
10.3.1.3 显式并行化抑制因素一般而言,如果您显式指导编译器对循环进行并行化,编译器就会执行。但也有例外情况-存在一些编译器不进行并行化的循环。下面是可检测到的主要抑制因素,这些抑制因素可以防止对 DO 循环进行显式并行化:DO 循环嵌套在已并行化的另一 DO 循环内。该例外情况也适用于间接嵌套。如果显式并行化包含子例程调用的循环,那么,即使要求编译器并行化该子例转载 2012-03-16 09:43:59 · 5111 阅读 · 0 评论 -
mpi+openmp程序需要注意事项
编译的选项Intel• Fortran : ifort,• Fortran with MPI: mpif77, mpif90• C/C++ :icc• C/C++ with MPI: mpcc, mpCC• Option to support OpenMP• -openmpPortland Group• Fortran : pgf77, pgf90原创 2013-05-12 17:36:24 · 3634 阅读 · 0 评论