简介

并行计算是现代计算机的基础。每个公司每个产品应用,如果能冲锋利用cpu的多核性能,将会给人以不同的感受
主要使用openmp 和 opencl这两个库

note

并行计算

gcc 自动化并行计算编译命令

gcc -03 -floop-parallelize-all -ftree-parallelize-loops=K -fdump-tree-parloops-details src.c K推荐使用计算机的核心数量

intel compiler

icc -c -parallel -par-report file.cc

三种并行方式

  1. 数据并行(Data parallelization)
    • 例如音频流,如果一整段音频处理不快的话,分段处理
  2. 结构并行(Instruction parallelization)
    • 常规操作,A去巴拉巴拉,B去巴拉巴拉
  3. 信息流并行(Parallelization of information flows)
    • 类似于结构并行,不是特别清楚

C 多线程计时函数

ctime_r and localtime_r

对于openmp的支持

参考链接 https://www.cnblogs.com/lfri/p/10111315.html

编译命令 g++ test.cpp -o test -fopenmp

Compiler name Compiler Key OpenMp
Gcc -fopenmp
icc(Intel C/C++ compiler) -openmp
Sun C/C++ compiler -xopenmp
Visual Studio C/C++ compiler /openmp
PGI -mp

头文件 #include <omp.h>

openCL

实现了简单的CPU & GPU的并行处理

doc

  1. OpenCL – official site:http://www.khronos.org/opencl/

  2. Intel OpenCL: http://software.intel.com/en-us/articles/intel-opencl-sdk/

  3. NVIDIA OpenCL: https://developer.nvidia.com/cuda-zone

  4. AMD OpenCL: http://www.amd.com/us/products/technologies/stream-technology/opencl/Pages/opencl.aspx

vs 配置

posted on 2020-11-28 13:14  HDU李少帅  阅读(353)  评论(0编辑  收藏  举报