并行程序设计
spadeπ
山科大大二在校闲人一枚
展开
-
【并行/人工智能】基于KNN算法的手写数字识别(C与CUDA比较)
文章目录一、KNN算法1、算法简介2、基本思想3、应用领域4、算法流程5、计算距离的方法①欧式距离6、采用并行计算的原因一、KNN算法1、算法简介KNN算法(K-Nearest Neighbor algorithm,K最邻近方法)称为邻近算法,它是一种机器学习类的分类算法。2、基本思想该方法的思想非常简单:通俗来说就是“近朱者赤,近墨者黑”,测试样本的特征与哪一类别训练样本的特征最接近,那么该测试样本就属于这一类别。具体来说就是去找离测试样本的最接近的K个邻居(K根据情况取值),这K个邻居大多数属原创 2021-04-21 07:53:47 · 904 阅读 · 3 评论 -
并行程序设计学习记录(一) 并行计算相关基本概念
并行计算传统上来说,串行计算是指在单个计算机(也就是单个中央处理单元)上执行一系列指令解决问题,但其中只有一种指令可提供随时并及时的使用。并行计算就是在此基础上演变而来的。并行计算是指同时利用多种计算资源解决计算问题的过程。所谓多种计算资源,是指计算资源应包括一台配有多处理器(并行处理)的计算机、有专有编号的多个与网络相连的计算机,或者两者结合使用。并行计算的主要好处能够使用多个相对“廉价”的计算资源来实现一个更大的计算资源达到计算目的,另外可以利用非本地资源,同时克服单个计算机上存在的存储器限制。另外并原创 2021-04-12 08:04:19 · 350 阅读 · 0 评论 -
CUDA矩阵相乘函数实现
下面展示一些 内联代码片。// A code blockvar foo = 'bar';__global__ void matrix_mul_gpu(int* M, int* N, int* P, int width){ int i = threadIdx.x + blockDim.x * blockIdx.x; int j = threadIdx.y + blockDim.y * blockIdx.y; int sum = 0; for (int k = 0;原创 2021-04-03 16:49:38 · 121 阅读 · 2 评论