hpc
文章平均质量分 60
天山
精通C/C++/Fortran、MPI、OpenMP、CUDA等编程语言
精通大规模并行计算软件开发
精通GPU、MIC异构并行编程技术,熟悉并行计算编程模型
熟悉SSE、AVX等硬件加速指令集
熟悉Intel vTune、MPI Trace、Profiler等分析工具
展开
-
高性能计算知识汇总
高性能计算各方面知识汇总:高性能计算中用到的测试程序、存储系统、网络系统、集群管理系统、并行开发环境、并行开发策略、容错等转载 2016-01-26 12:54:30 · 1901 阅读 · 0 评论 -
MIC offload.h
Intel编译器include文件夹下有MIC的头文件:offload.h列举几个常用的函数说明:_Offload_number_of_devices() //获取MIC数目_Offload_get_device_number() //获取MIC编号omp_get_max_threads_target(TARGET_MIC, 0) //获取MIC上可以最多支持原创 2014-03-27 16:28:06 · 2573 阅读 · 3 评论 -
MIC编程优化(1)——并行度优化
MIC卡包含众多的物理核,同时每个核上可以开启4个线程,因此,程序员只有设计足够多的线程/进程才可以把所有的核利用起来。例如一块60个核的MIC卡上,我们最多可以开启240个线程,最佳线程数一般是每个核设置3个或4个线程原创 2013-08-15 17:14:11 · 3608 阅读 · 0 评论 -
《MIC高性能计算编程指南》矩阵乘法源代码
《MIC高性能计算编程指南》矩阵乘法源代码,有需要的请下载了。点击打开链接原创 2013-08-06 09:20:38 · 2497 阅读 · 0 评论 -
天河二号横空出世,配4.8万块MIC计算卡
在德国莱比锡举行的2013年国际超级计算大会上,第41期全球超级计算机500强排行榜今天正式公布,中国的天河2号(Tianhe-2)成功登顶。这也是继2010年11月的天河1A夺魁之后,中国重返超算性能世界第一!(不过天河1A这次再次下滑两名,排到了第十)曾在5月份参观了天河2号系统的TOP500编辑Jack Dongarra表示,这套系统值得人们尊重。他说:“这套系统的大部分功能都是中国转载 2013-06-20 09:10:41 · 3311 阅读 · 1 评论 -
MIC编程(8)——offload语句内调用的函数声明方式
利用offload模式在MIC卡上编程时,offload内调用的函数前必须加“__attribute__((target(mic))) ”,如:__attribute__((target(mic)))void VecAdd_mic(float* A, float* B, float* C, int size){#pragma omp parallel for原创 2013-05-25 15:13:05 · 2332 阅读 · 0 评论 -
MIC编程(7 )——offload语法
MIC编程中最基本的语法就是offload语句,offload语句的作用为将程序和数据由CPU端传递到MIC端,并在MIC上执行,offload语法为:C/C++: #pragma offload target(mic: id) in(...) out(...)Fortran: !dec$ OFFLOAD target(mic: id) in(...) out(...)或原创 2013-05-25 15:09:38 · 6379 阅读 · 9 评论 -
快速开发CUDA程序的方法
根据几年的CUDA开发经验,简单的介绍下CUDA程序的大概开发步骤,按照先修改CPU串行程序后移植到GPU平台的原理,把需要在GPU上做的工作尽量先在CPU平台上修改,降低了程序的开发难度,同时有利用bug的调试。通过实现一种快速、有效地CUDA并行程序开发的方法,提高CUDA并行程序开发效率,降低CUDA并行程序开发周期和难度。(1) CPU串行程序分析对于CPU串行程序,首先需要原创 2014-09-22 18:19:52 · 3898 阅读 · 1 评论 -
CPU+GPU集群计算中的一种动态负载均衡设计方法
目前,随着高性能计算应用软件的发展,应用对计算性能的需求越来越高,越来越多的高性能计算应用软件采用的是CPU与GPU异构协同计算的计算模式,即在传统的多核CPU架构基础上扩展GPU架构处理器,组成CPU和GPU混合的架构平台,基于该架构平台设计相应的软件解决方案,使得CPU与GPU能够有效的进行协同计算。其中,CPU与GPU的负载均衡问题是关系到CPU与GPU混合架构平台的计算性能能否发挥到极致的重要因素。原创 2015-10-14 13:23:59 · 4024 阅读 · 1 评论 -
利用高性能计算加速深度学习算法
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。深度学习典型应用为图像识别和语音识别。GPU正在以大大超过摩尔定律的速度高速发展(大约每隔半年 GPU 的性能增加一倍),远远超过了CPU 的发展速度。GPU加速深度学习算法可以获得较大的性能提升,本文主要介绍深度学习算法在GPU平台上的并行设计和优化方法。原创 2015-10-28 14:17:57 · 13104 阅读 · 1 评论 -
NVIDIA CUDA系列视频教程
NVIDIA CUDA开发者系列培训转载 2015-09-18 14:42:33 · 6571 阅读 · 0 评论 -
矩阵按行(列)求和CUDA并行算法设计
通过矩阵按行求和与按列求和两个示例介绍CUDA并行算法设计的思路,希望对大家有所帮助。很多公司招聘CUDA工程师面试时也会考察这个题目。原创 2013-10-25 09:07:39 · 6386 阅读 · 2 评论 -
阿里云CTO章文嵩:GPU高性能计算是下一个风口
7月22日首届阿里云分享日×云栖大会北京峰会召开,吸引了海内外2000余名开发者、创业者及生态伙伴参与。阿里云CTO章文嵩在分享日指出,随着DT时代的到临,高性能数据分析需求开始显现,云上将形成包括高性能计算在内的技术生态。章文嵩透露,阿里巴巴内部早期上线了33个GPU线上应用,进行着1亿+张级别的图片训练,同时配备了2P FLOPS的GPU计算集群,结果在一周之内就被几乎全部占用转载 2015-09-11 14:03:26 · 1450 阅读 · 0 评论 -
GPU高性能计算与图像处理
CUDA编程语言的推出,使得在GPU平台上的高性能计算应用软件越来越多。目前,CUDA在石油勘测、流体动力学模拟、天文计算、分子动力学仿真、生物计算、图像处理、音频视频编解码、医疗成像、金融、数据库等领域得到广泛的应用,在很多应用中获得2-3个数量级的加速比,极大地提高了性能。原创 2013-08-14 11:22:47 · 15078 阅读 · 1 评论 -
获取MIC的核数、内存大小
1. 在C/C++代码中获取MIC的核数的方法如下: #define mic_setup_command "micinfo | grep Active | head -1 | awk ' { print $7 }'" FILE *fp; fp = (FILE*)popen(mic_setup_command, "r"); char tmp_buffer[100原创 2014-03-27 16:42:44 · 1790 阅读 · 1 评论 -
GPU与MIC对比
属性NVIDIA GPUIntel MIC单核流处理器/CUDA core每个核运行一个线程X86 core每个核上最多支持4个硬件线程主频接近1GHz1.0-1.1GHz核数数十个到数千个57-61并行度原创 2014-09-29 21:02:54 · 7960 阅读 · 0 评论 -
MIC编程(5 )——MIC驱动MPSS安装
1 MIC对硬件的要求1) 主板目前,并不是所有的主板都支持MIC环境,有些主板升级BOIS后可以支持MIC环境。MIC需要在主板BOIS中启用大型基本地址寄存器 (BAR) 支持,MMIO大于4GB的寻址。默认情况下,大多数平台BIOS实施将其设为禁用,因此必须在平台 BIOS 设置中将其手动启用。有些系统默认的散热速度并未设置成全速,当使用被动散热的M原创 2013-05-24 21:34:35 · 13342 阅读 · 3 评论 -
MIC编程(4)——MIC灵活高效的编程方式
MIC是基于X86架构的众核处理器,CPU多核上的并行编程模型在MIC上都支持,同时MIC卡上运行一个uos,因此,MIC与CPU多核之间的编程很灵活,既可以CPU端启动主函数,也可以MIC端启动主函数,甚至可以CPU和MIC端同时各自发起主函数。CPU多核和MIC协同编程模式如下图所示,CPU多核和MIC协同计算有以下几种模式:1) Multi-Core Hosted:程序并行度原创 2013-05-24 20:59:41 · 5156 阅读 · 2 评论 -
MIC编程(2)——MIC主要参数
MIC 卡上每个核可以执行不同的指令,每个核最多支持4个硬件线程,用来隐藏存储访问延迟。MIC卡与主机端通过PCI-E连接,支持PCI-E x8或x16线宽配置。每个MIC卡可以设置独立的IP,可以把每个MIC卡当作独立的节点。MIC卡拥有512bit的向量位宽,可以同时处理16个32-bit浮点/整形元素或8个64-bit浮点/整形元素的计算。MIC卡包含32KB L1指令cac原创 2013-05-24 20:38:43 · 3982 阅读 · 0 评论 -
浅谈多节点CPU+GPU协同计算负载均衡性设计
近年来,基于CPU+GPU的混合异构计算系统开始逐渐成为国内外高性能计算领域的热点研究方向。在实际应用中,许多基于 CPU+GPU 的混合异构计算机系统表现出了良好的性能。但是,由于各种历史和现实原因的制约,异构计算仍然面临着诸多方面的问题,其中最突出的问题是程序开发困难,尤其是扩展到集群规模级别时这个问题更为突出。主要表现在扩展性、负载均衡、自适应性、通信、内存等方面。一、 CPU+G原创 2012-11-26 09:01:37 · 15134 阅读 · 3 评论 -
并行出击,英特尔至强融核协处理器亮相
并行出击,英特尔至强融核协处理器亮相转载 2012-11-20 08:46:30 · 1141 阅读 · 0 评论 -
Intel MIC (至强融核) 安装步骤
英特尔(R) 至强融核(TM) 平台软件堆栈英特尔(R) 至强融核(TM) 协处理器软件开发平台gold 软件预览版本驱动程序修订版: 2.1.4346-16Oct 19, 2012部件号: MPSS gold README出口法规: ECCN = 5D992a; ECCN = EAR99*** 注意:*** o 本文档是关于包含英特尔(R转载 2012-11-29 21:49:52 · 11714 阅读 · 1 评论 -
Intel MIC架构
Intel MIC架构是英特尔公司专为高性能计算(HPC)设计的、基于英特尔至强处理器和英特尔集成众核的下一代平台。相比通用的多核至强处理器,处理复杂的并行应用是MIC众核架构的优势。MIC架构产品能够支持标准化、现有的编程工具和手段,大大方便了开发人员。熟悉的编程模块为开发人员扫除了技术障碍,有助于开发人员专注在开发问题上而非软件工程方面。MIC架构在单个CPU芯片中融合了众多核心,这些转载 2012-03-17 21:41:49 · 8230 阅读 · 0 评论 -
2011年中国高性能计算机性能TOP100排行榜
2011年中国高性能计算机性能TOP100排行榜张云泉 孙家昶 袁国兴 张林波中国软件行业协会数学软件分会国家863高性能计算机评测中心中国计算机学会高性能计算专业委员会(http://www.samss.org.cn)(2011年11月1日) 本排行榜为中国软件行业协会数学软件分会、国家863高性能计算机评测中心和中国计算机学会高性能计算专业委员会联合公开发布转载 2011-12-22 10:20:37 · 4232 阅读 · 0 评论 -
CUDA Toolkit 4.1 RC1 新增LLVM编译器
2011年11月10日,据NVIDIA官方宣布CUDA Toolkit 4.1 RC1版本发布,目前CUDA注册开发者已经可以下载。CUDA开发者请登录官网下载或者立即注册下载。发布者期待通过注册开发者的反馈了解使用新版本中的个人体会(优点与缺点)。▲CUDA Toolkit 4.1 RC1版本发布 新版本包括一款新的基于LLVM的CUDA编译器,超过一千项新的图像处理功能,转载 2011-12-22 09:59:58 · 1077 阅读 · 0 评论 -
基于MIC平台的向量加示例
基于MIC平台的向量加示例,包括:OpenMP版本,MIC offload版本,MIC native版本,CPU+MIC offload版本,CPU+MIC对等版本,以及MIC网络配置方法,希望对想学习MIC的网友有些帮助。1. 向量加串行程序vectoradd_cpu.cpp 1 #include 2 #include 3原创 2013-02-21 16:30:58 · 2417 阅读 · 2 评论 -
ASC13总决赛-MIC优化特别奖
MIC优化特别奖,华中科技大学!BSDE期权优化是本次ASC13竞赛的特色应用之一,首次被拿来作为竞赛的比赛项目。华中科大在本次竞赛中以性能优化6万倍的惊人成绩摘取“MIC优化特别奖”。清华大学和中山大学成绩也很优秀,都获得了数万倍的加速比。ASC13:2013亚洲大学生超级计算机竞赛原创 2013-04-19 20:55:08 · 1128 阅读 · 0 评论 -
MIC编程(6 )——MIC对等模式配置方法
基于InfiniBand网络的的对等模式还没有配置成功过,下面以以太网的配置方法为例说明其过程。首先安装MIC驱动-MPSS包,详细安装过程见“MIC编程(5 )——MIC驱动MPSS安装”通过service mpss status命令查看mpss的运行状态,若返回mpss is running,则先关闭mpss服务:service mpss stop下面以host原创 2013-05-24 21:48:50 · 3033 阅读 · 0 评论 -
MIC编程(3)——MIC峰值性能计算方法
SE10P:1. 单精度峰值性能: 32 SP FLOPs/clock/core * 61 cores * 1.1GHz =2147.2 GFLOP/s 2. 双精度峰值性能: 16 DPFLOPs/clock/core * 61 cores * 1.1GHz = 1073.6 GFLOP/s 3. 内存带宽: 4 Bytes/channel * 16 mem. channe原创 2013-05-24 20:49:16 · 3467 阅读 · 0 评论 -
MIC编程(1)——MIC是什么?
美国SC12大会上,英特尔正式发布了至强融核Xeon Phi,采用MIC(Intel Many Integerated Core)架构,用于高性能并行计算。MIC基于X86架构,支持多种并行模型,OpenMP、pThread、OpenCL、MPI等并行编程语言,采用C、C++和Fortran三种语言进行软件移植开发,特点以编程简单(引语方式)著称,工具链丰富。MIC基于X86架构,是众核协处理原创 2013-05-24 20:37:11 · 10415 阅读 · 0 评论 -
Intel MIC适合什么样的应用程序
MIC是为高度并行化应用设计的,应用程序需要具备良好的扩展性,能够充分向量化,如果同时又具有较高的访存效率,便能够获得较好的性能。国内外已有很多不同领域的应用成功移植到MIC平台并且获得了良好的性能,主要有石油勘探,生命科学,物理化工,电磁仿真,金融,航空航天,工业制造等等。以下提供了一些成功案例的详细介绍。http://software.intel.com/mic-developer原创 2013-05-09 15:39:05 · 2121 阅读 · 0 评论 -
Intel MIC开发环境安装
1) MIC卡图解2) MIC对硬件的要求a) 主板目前,并不是所有的主板都支持MIC环境,有些主板升级BOIS后可以支持MIC环境。MIC需要在主板BOIS中启用大型基本地址寄存器 (BAR) 支持,MMIO大于4GB的寻址。默认情况下,大多数平台BIOS实施将其设为禁用,因此必须在平台 BIOS 设置中将其手动启用。有些系统默认的散热速度并未设置成全速,当使用原创 2013-05-09 15:29:09 · 4649 阅读 · 4 评论 -
《MIC高性能计算编程指南》勘误表
P12P17P20P23P38P57 P59P97P102P108P109P116P139P194P228P232P240P254 P257P281原创 2013-01-09 15:59:11 · 2188 阅读 · 1 评论 -
Intel MIC性能测试程序
a) perf包MPSS包里面包含一个文件夹perf,该文件夹里面有两个rpm包,安装之后会在/opt/intel/mic/下生成perf文件夹,该文件夹下包含sgemm、dgemm、BusSpeed(用于测试CPU与MIC之间的PCI-E通信速度)、stream(用于测试MIC内存访问速度)等测试程序。b) MIC Linpack程序在Intel编译器安装原创 2013-05-09 15:35:51 · 3244 阅读 · 1 评论 -
Intel MIC学习资料
a) Intel MIC官网http://software.intel.com/mic-developerb) MIC体系结构http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-codename-knights-cornerc) MIC指令集http:/原创 2013-05-09 15:34:55 · 3782 阅读 · 0 评论