《并行计算:模型与算法》研读兴趣

《并行计算:模型与算法》研读兴趣

  • 概念:并发、并行与分布式

    并发:多个线程在同一时间段内同时执行。更多地考虑控制问题,包括同步和互斥等经典问题。

    并行:多个线程在同一时刻同时执行。主要面向具体计算问题。

    分布式:多个进程在多个通过网络互联的处理器上同时执行。

  • 回顾算法复杂度的概念

    复杂度表示所用到的符号有:

    • $f(n)=\Theta(g(n))$: 存在常数$c_1 \ge 0$,$c_2 \ge 0$,以及正整数$n_0$,对所有$n \ge n_0$有$0 \le c_1 g(n) \le f(n) \le c_2 g(n)$。

    • $f(n)=O(g(n))$: 存在常数$c_1 \ge 0$,以及正整数$n_0$,对所有$n \ge n_0$有$0 \le f(n) \le c_1 g(n)$。

    • $f(n)=\Omega(g(n))$: 存在常数$c_1 \ge 0$,以及正整数$n_0$,对所有$n \ge n_0$有$0 \le c_1 g(n) \le f(n)$。

    • $f(n)=o(g(n))$: 对任意$c_1 \ge 0$,存在正整数$n_0$,对所有$n \ge n_0$有$0 \le f(n) \le c_1 g(n)$。

  • 针对并行计算,具有研究价值的算法的简要描述

    • 最大值。输入为一个数组$A[n]={a_1,\dots,a_n}$,输出该数组中最大值。

    • 矩阵转置。输入为一个按行存储的矩阵$A[n][n]={ a_{11},\dots,a_{1n};a_{21},\dots,a_{2n};\dots;a_{n1},\dots,a_{nn} }$,输出为矩阵的转置$A’[n][n]={ a_{11},\dots,a_{n1};a_{12},\dots,a_{n2};\dots;a_{1n},\dots,a_{nn} }$。

    $$A’[n][n]={ a_{11},\dots,a_{n1};a_{12},\dots,a_{n2};\dots;a_{1n},\dots,a_{nn} }$$

    {$A’[n][n]={ a_{11},\dots,a_{n1};a_{12},\dots,a_{n2};\dots;a_{1n},\dots,a_{nn} }$}

win10 + gtx1060 + cuda8 0 + vs2013

http://www.cnblogs.com/xuanyuyt/p/5726926.html

  1. 安装cuda8.0

1)先去官网下载cuda8.0 https://developer.nvidia.com/cuda-toolkit

2)下载完之后进行安装,安装时间有点长,请耐心等待,默认是安装在c盘目录下

 安装完后会生成两个系统变量:

CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
CUDA_PATH_V8_0 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
3)测试是否成功 : 进入cmd,输入nvcc -V命令,如图所示

表示cuda安装成功

4)进入sdk实例安装目录

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v8.0
点击Samples_vs2013.sln文件打开vs2013执行

运行Samples_vs2013.sln文件就会出现如图所示

表明测试成功

5)使用配置vs2013