并行计算
文章平均质量分 79
一步一个脚印的屌丝
一个数学屌丝,走在it的道路上。
展开
-
AMGCL--vexcl
转自:http://ddemidov.github.io/vexcl/留着有空翻译一下VexCL Main PageNamespacesClassesFilesVexCL DocumentationVexCL is a vector expression template library原创 2013-05-21 19:33:19 · 1960 阅读 · 0 评论 -
扫描系统进程
自己一直想做一个和windows资源管理器一样的程序,所以看了一下如何列举系统的所有进程。主要用到几个函数CreateToolhelp32Snapshot,Process32First,Process32Next和一个结构体PROCESSENTRY32。其中用法可以看百度百科或MSDN这里是代码#include #include #include #include #inclu原创 2012-10-21 12:56:23 · 1089 阅读 · 0 评论 -
openCL(一)——hello word
过了一个十一长假,算是舒服了一下,又要给自己充电了,自己最近吧openCL的东西了解了一下,贴出程序和大家分享。。。 对于openCL的安装和配置,网上已经很多了,我也有转载。 对于openCL在初始化配置比较繁琐,不过在AMD的DEMOL里给提供了,是一个初始化模板。有一个头文件和一个CPP文件 一头文件 Template.h。包含了函数申明和一些全局变量的声明原创 2012-10-07 22:22:09 · 2576 阅读 · 0 评论 -
OpenCL和CUDA全解释
转自:http://blog.csdn.net/suese/article/details/7689208 Khronos组织最近规范了OpenCL 1.0, OpenCL实际上是针对异构系统进行并行编程的一个全新的API,简单来说OpenCL它可以利用GPU,然后进行一些并行计算这方面的工作,这是API应用程序的编程接口,图形里面也有很多API,比如OpenGL那是针对图形的,Ope转载 2012-09-19 15:07:26 · 1765 阅读 · 0 评论 -
VexCL: Vector expression template library for OpenCL
转自:http://www.codeproject.com/Articles/415058/VexCL-Vector-expression-template-library-for-OpenCintroductionVexCL is vector expression template library for OpenCL. It has been created for ease of转载 2013-05-26 09:38:08 · 1638 阅读 · 0 评论 -
eigen 初探
转自:http://blog.csdn.net/abcjennifer/article/details/7781936最近和一些朋友讨论到了C++中数学工具的问题,以前总是很2地自己写矩阵运算,或者有时候在matlab里计算了一些数据再往C程序里倒,唉~想想那些年,我们白写的代码啊……人家早已封装好了!首先推荐几个可以在C++中调用的数学平台:eigen、bias、lapack、svd、CMa转载 2013-05-26 09:55:58 · 1604 阅读 · 0 评论 -
vexcl初探
留着有空翻译一下VexCL Main PageNamespacesClassesFilesVexCL 文档VexCL 是对应于OpenCL的向量(Vector)标准库,它可以帮助在C++中快速的使用。VexCL的目标就是减少开发人员在使用OpenCL时的代码量,它提供个关于矩阵的相关操作,包括向量运翻译 2013-05-26 15:51:49 · 2471 阅读 · 0 评论 -
amgcl-CRS format
在AMGCL里的第一步是要读如数据,但是它的存储格式是稀疏矩阵的形式,具体的读取代码见template inline int read_problem(const std::string &fname, std::vector &row, std::vector &col, std::vector &val, RHS原创 2013-05-28 10:56:00 · 1723 阅读 · 0 评论 -
AMG工作阶段性总结1
这一段时间,研究了一下的AMG ON GPUS,从一开始的比较乱,应为amgcl用的开源的库还是挺多的,最近把这些知识稍微理了一下,以备下一阶段的学习吧。首先所有的开始是从http://blog.csdn.net/caiye917015406/article/details/8955928,开始的。一、用到的相关开源库 1. Boost库:这个库是amgcl必须的(唯一必须的)。对原创 2013-06-03 20:59:14 · 2967 阅读 · 0 评论 -
Ubuntu 9.04下CUDA编程起步
前一阵子把蚁群算法和改进的K-Means算法都搞定了,然后一直在看CUDA编程,前面看CUDA的介绍,一直认为会C之后CUDA就很容易上手,其实不然,还需要了解一些GPU的体系结构相关的知识才能写出好的程序来。《GPU高性能运算之CUDA》这本书看完一遍之后感觉它更像一个手稿整理,把之前的恒多文档整理了一下出了一本书,因为是集大家的智慧,讲的还不错,就是顺序上安排的不是太好。有总比没有好,看过一遍转载 2013-07-09 22:08:16 · 969 阅读 · 0 评论 -
面向GPU并行计算新趋势
随着GPU的可编程性不断增强,GPU的应用能力已经远远超出了图形渲染任务,利用GPU完成通用计算的研究逐渐活跃起来,将GPU用于图形渲染以外领域的计算成为GPGPU(General Purpose computing on graphics processing units,基于GPU的通用计算)。而与此同时CPU则遇到了一些障碍,CPU为了追求通用性,将其中大部分晶体管主要用于构建控制电路(转载 2013-06-24 22:56:46 · 2324 阅读 · 2 评论 -
GPU通用计算调研报告
转自:http://www.cnblogs.com/chunshan/archive/2011/07/18/2110076.html摘要:NVIDIA公司在1999年发布GeForce256时首先提出GPU(图形处理器)的概念,随后大量复杂的应用需求促使整个产业蓬勃发展至今。GPU在这十多年的演变过程中,我们看到GPU从最初帮助CPU分担几何吞吐量,到Shader(着色器)单元初具规模,然后出转载 2013-07-15 18:38:10 · 3163 阅读 · 0 评论 -
Hadoop+GPU强强联手的性能探索
Hadoop并行处理可以成倍地提高性能。现在的问题是如果将一部分计算工作从CPU迁移到GPU会怎么样?能否更快理论上,这些处理如果经过了并行计算的优化,在GPU上执行会比CPU快50-100倍。 作为大数据专家和PaaS的推动者,Altoros Systems研发团队一直致力于探索Hadoop+GPU的可能性,以及在实际的大规模系统中的实现,这篇文章就是他们的部分研究成果。作者转载 2013-07-05 22:15:48 · 2733 阅读 · 0 评论 -
VS2010中配置CUDA5.0
1、安装之前必须确认自己电脑的GPU支持CUDA。在设备管理器中找到显示适配器(Display adapters),找到自己电脑的显卡型号,如果包含在http://www.nvidia.com/object/cuda_gpus.html的列表中,说明支持CUDA。安装CUDA之前最好检查一下自己电脑的显卡驱动版本,版本过老的话,需要更新。有时候安装完毕CUDA之后,运行6中的deviceQue转载 2013-08-07 17:59:28 · 1219 阅读 · 0 评论 -
线程同步测试(1)
老师布置了下课要看一下线程同步,这里主要是实现了五种线程同步:全局变量、临界区、互斥变量、信号量、事件 关于具体的各个用法,个人感觉看>比较详细。关于具体的介绍和比较,自己会在接下和大家分享。以下是五种线程同步的测试程序一 全局变量/* 项目:线程同步 介绍线程同步-全局变量 函数: 姓名:刘荣 时间:2012/10/22*/#include#includ原创 2012-10-24 17:08:40 · 1075 阅读 · 0 评论 -
多线程与串行的速度比较
这是上课老师的一个例子,可以很容易的看出线程编程对串行程序的加速,我电脑是2核的,可以看出其加速比1.72/* 项目:数值计算 功能:计算E和pi,计算加速比 作者:刘荣 时间:2012.10.24*/#include#include#includeusing namespace std;const int StepNum = 200000000;//声原创 2012-10-27 22:27:07 · 1355 阅读 · 0 评论 -
Introduction to Generic Accelerated Computing with Libra SDK
转自:http://gpuscience.com/news/introduction-to-generic-accelerated-computing-with-libra-sdk/Introduction to Generic Accelerated Computing with Libra SDKEditor | 21 November, 2011dig转载 2013-05-21 16:27:28 · 1391 阅读 · 0 评论 -
AMGCL---progect
转自:http://www.paralution.com/Home [About]PARALUTION is a library which enables you to perform various sparse iterative solvers andpreconditioners on multi/many-core CPU and GPU dev转载 2013-05-21 16:28:41 · 1566 阅读 · 0 评论 -
MPI--MPI+VS2010 配置及编译
上学期学了多核计算,现在由于需要要重新配置环境,竟然忘了。又走了很多弯路,所以还是要记录下来。一 下载mpi for windows 在这一块我浪费了很多时间。首先windows下(自己电脑的多核)和一般的工作站是不一样的。windos为了兼容mpi,自己做了一个基于一般电脑的MPI实现,如果要安装真正意义的mpi,在intel上有。我这里是为了在自己笔记本上学习mpi,用的市微原创 2013-04-06 16:57:42 · 4632 阅读 · 0 评论 -
OpenCL--vs2010+OpenCL(32+64)配置
首先你要装好催化剂显卡驱动。下载AMP APP SDK安装包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安装AMD APP SDK,如图0。安装完之后重新启动。首先知道一下安装的位置,我这里按默认装在了 C:\Program Files (x86)\AMD APP\ ,如图1。图1系统安装的时候系统已经设置了一个环境变量AMDAPPSDK转载 2013-04-02 20:22:39 · 2110 阅读 · 0 评论 -
openCL在GPU与CPU设备上的区别--计算E值
最近老是布置了个作业,让考虑计算E的不同并行算法和不同语言是想,于是考虑到了最近openCL的实现方式,之前也考虑了openMP及多线程的实现,这里只讨论openCL的实现及发现的问题,之后整理一下自己的文章,把所有的并行语言的计算E值的实现贴出来。一、首先介绍两种计算E值并行结构 二、代码实现 1.多项式分段kernel // Enter you原创 2012-12-27 10:04:41 · 4402 阅读 · 0 评论 -
openMP的一点使用经验—加速opencv
转自:http://www.cnblogs.com/yangyangcv/archive/2012/03/23/2413335.html最近在看多核编程。简单来说,由于现在电脑CPU一般都有两个核,4核与8核的CPU也逐渐走入了寻常百姓家,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。按照我的理解,多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API原创 2012-11-27 13:02:40 · 1877 阅读 · 0 评论 -
openCL实现计算自然对数
主要是之前老师让不同的方法实现计算自然对数,了解不同并行语言的特点。所以在用了多线程,openMP后,想用opencL实现以下,先介绍一下算法 方法一. 代码主机端/* 项目:openCL的矩阵相乘 作者:刘荣 时间:2012.11.20*/#include #include#include #include#include #include原创 2012-11-26 19:22:07 · 3360 阅读 · 0 评论 -
openCl-work-item的并行的理解
最近在看OpenCL的程序,对于work-item的运行机制不是很理解。于是,自己用几个小程序直观的看了一下,主要是在用OpenMP的测试思想,输出work-item及其处理的数据结果。个人感觉这个对于我理解其运行机制很有帮助,以下是程序: 主机端程序:main.cpp/* 项目:openCL的矩阵相乘 作者:刘荣 时间:2012.11.20*/#include原创 2012-11-25 15:22:28 · 4241 阅读 · 2 评论 -
openCL-矩阵相乘
这是AMD异构大赛发的书上的例子,我自己加了一些东西,实现了一下。不过还没有学会如何分析运行的时间,先贴上代码这是第一次用amd APP KernelAnalyzer感觉还可以吧,simpleMultiply.cl// Enter your kernel in this window__kernel v原创 2012-11-20 22:10:07 · 4616 阅读 · 3 评论 -
openCL-系统装置的信息获取
获取电脑装置信息的有两种方法,一是通过doc窗口获得,第二个是通过程序 一.doc窗口获得 输入clinfo,可以获得相应的信息 二 程序 这里是用的openCL的API获得 #include #include #include #include int main(){ cl_int err; cl_uint num;原创 2012-11-20 19:42:26 · 2591 阅读 · 0 评论 -
openCL-hello word
忙了好久,期中考试考完了,要开始研究openCL了,这是自己的第一个hello word。就是数组的并行化,当然这里的kernal函数没有写在文件里,主要是程序不大,姑且就这样吧,便于阅读。以下是源代码#include #include #include #include const char* programSource="__kernel原创 2012-11-20 19:33:01 · 1209 阅读 · 0 评论 -
openMP-数据并行化小例子
这是一个采用openMP进行数据并行化的例子,在这个例子中,数据之间是独立的,能很好的利用其优势。这只是一个测试例子,没有什么实际的意义。在这个例子中,全局数组不可太大,否则不能运行。/* 功能:循环并行化 作者:刘荣 时间:2012.11.15*/#include#include#include#include#include//变量声明const int num原创 2012-11-16 22:22:43 · 1584 阅读 · 0 评论 -
openMP-hello word
这周开始接触openMP,展示第一个openMP程序,以后继续学习。这个程序测试了openMP中for并行化的作用域,在vs2010中测试,要打开openMP的支持。否则没效果/* 功能:循环并行化 作者:刘荣 时间:2012.11.15*/#include#include#include//变量声明int main(){ int i; #pragm原创 2012-11-16 22:18:41 · 1094 阅读 · 0 评论 -
深入浅出谈CUDA
“CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构。”“CUDA 是 NVIDIA 的 GPGPU 模型,它使用 C 语言为基础,可以直接以大多数人熟悉的 C 语言,写出在显示芯片上执行的程序,而不需要去学习特定的显示芯片的指令或是特殊的结构。”转载 2013-08-07 20:09:34 · 3828 阅读 · 0 评论