高性能计算HPC
文章平均质量分 71
CUDA与并行计算,MPI,程序性能优化等
haimianjie2012
专注AI Complier,异构并行计算,HPC高性能计算,计算机视觉,深度学习和机器学习,C++开发;也写一些随笔读书笔记,面试题解析和求职攻略
展开
-
NVIDIA CUDA笔记1:CPU体系架构概述
CPU架构概述原创 2023-03-01 22:16:16 · 441 阅读 · 0 评论 -
优化converPVD性能
Windows 性能工具包Download and install the Windows ADKWindows 性能分析器原创 2022-03-21 18:31:42 · 118 阅读 · 0 评论 -
如何学习高性能计算
High performance computing高性能计算定义高性能计算(HPC)是利用先进的计算机技术,如超级计算机和并行处理算法,来解决复杂的计算问题。主要用于科学、军事和学术领域。现在也被利用在数据存储和事务处理领域,以及为统计目的挖掘或使用这些信息。"深蓝"是一种超级计算机,它通过与人类大师对弈来展示人工智能。高性能计算的主要目标是以精确、快速、高效的方式解决计算问题,并行处理是高性能计算成功的关键。并行处理使用多个中央处理器(CPU)来计算一个问题,在技术上可以使计算速度更快。其原创 2022-03-18 18:39:23 · 1394 阅读 · 0 评论 -
《并行算法设计与性能优化》读书笔记
1.绪论计算机程序性能提升 2003年以前 依赖于CPU主频的提升 CPU主频的提升可以轻松的提升软件性能 2003年以后 CPU频率的提升接近停止 提高指令级并行能力 在一个时钟周期内执行更多指令 向量指令 使用同一条指令同时操作多个数据 多核 在同一个芯片上集成多个核心 超线程技术 多路原创 2022-03-17 21:41:34 · 545 阅读 · 0 评论 -
《代码优化:有效使用内存》读书笔记
英文版中文版*相关链接:1.安全技术大系; 2. The GNU C Library (glibc)内容简介本书系统深入地介绍了各种代码优化编程技术。全书分为4章。第1章集中介绍如何确定程序中消耗CPU时钟最多的热点代码的所谓程序剖析技术以及典型部分工具的实用知识。第2,3章分别全面介绍RAM了系统与高速缓存子系统的代码优化知识。第4章主要介绍了机器代码优化技术。各章在讨论基本原理的同时详细给出了代码实例,并对优化性能进行了定量的分析。该书特别适合于作为应用程序员及系.原创 2022-03-17 11:45:58 · 445 阅读 · 0 评论 -
《并行程序设计概念与实践》读书笔记~
《并行程序设计概念与实践》读书笔记~作者简介Bertil Schmidt(贝蒂尔.施密特)德国美因茨约翰内斯.古腾堡大学并行与分布式架构领域首席教授,之前任职于南洋理工大学和新南威尔士大学。曾荣获CUDA研究中心奖、CUDA学术合作伙伴奖、CUDA教授合作伙伴奖和IEEE ASAP 2009 最佳论文奖相关书籍:《高性能计算:现代系统与应用实践》作者:Thomaes Sterling本书为初学者构建一条易于理解的学习路径,夯实基础的同时注重培养实战。第 4章:C++多线程编程第5原创 2021-12-27 15:21:58 · 740 阅读 · 0 评论 -
OpenCL
1.OpenCL Guide本指南旨在帮助开发人员使用Khronos®Group的OpenCL快速启动和运行™ 编程框架。这是一本介绍性阅读,涵盖了OpenCL的背景和关键概念,但也包含到更详细资料的链接,开发人员可以使用这些资料来探索他们最感兴趣的OpenCL功能。2.Khronos OpenCL RegistryOpenCL注册表包含OpenCLAPI、OpenCLC编程语言、OpenCLSPIR-V环境和OpenCL扩展的格式化规范。OpenCL注册表还包括头文件、参考页链接、参考卡和其他相原创 2021-12-08 15:08:14 · 593 阅读 · 0 评论 -
论文1:《基于FPGA的机器学习硬件加速研究进展》阅读笔记
《基于FPGA的机器学习硬件加速研究进展》王超,王腾,马翔,周学海.中国科学技术大学计算机学院如何高效稳定的存取数据信息以及加快数据挖掘算法的执行已经成为学术界和工业界急需解决的问题。利用新型的软硬件手段加速机器学习算法已经成为目前的研究热点之一1.引言整个加速硬件的发展汇总目前,学术界和工业界存在多种较为成熟的加速平台,这些加速平台可以概括为四类: Intel集成众核MIC专用集成电路ASIC通用图形处理单元GPGPU云计算平台、可重构逻辑电路如FPGA以及各种异构计算平原创 2021-12-06 14:01:12 · 3907 阅读 · 0 评论 -
计算机流体力学:CFD
有关流体力学或者计算流体力学的经典教材?有哪些计算流体力学(CFD)大牛的故事?计算机流体力学CFD_知乎话题原创 2021-11-01 17:04:14 · 1046 阅读 · 0 评论 -
适用于Windows*操作系统的英特尔MPI库参考手册:5-6
5.图形工具英特尔MPI库提供三种图形实用程序:wmpiregister、wmpiexec和wmpiconfig。这些实用程序简化了在Windows*操作系统下使用英特尔MPI库的过程。使用wmpiregister实用程序加密和存储您的帐户名和密码。这个指定的帐户和密码用于您启动的所有后续MPI作业。第一次使用此实用程序时,需要在第一次mpiexec调用期间输入帐户名和密码。将wmpiexec实用程序用作mpiexec命令的图形界面。此实用程序允许您:1.通过指定以下内容来描述作原创 2021-10-15 17:51:46 · 578 阅读 · 0 评论 -
适用于Windows*操作系统的英特尔MPI库参考手册:4
4.调试参考“英特尔MPI库”提供了一个自动调整实用程序和许多环境变量,可用于在运行时影响程序行为和性能。4.1使用mpitune实用程序mpitune使用mpitune实用程序查找与群集配置或应用程序相关的英特尔MPI库的最佳设置。语法:参数:不推荐的选项:描述:使用mpitune实用程序创建一组英特尔MPI库配置文件,其中包含特定群集或应用程序的最佳设置。通过使用-tune选项,可以在mpiexec作业启动器中重用这些配置文件。如果存在以前mpitune会话中的配置文原创 2021-10-15 17:49:53 · 553 阅读 · 0 评论 -
适用于Windows*操作系统的英特尔MPI库参考手册:1-3
2.命令参考本节提供有关不同命令类型以及如何使用这些命令的信息: 编译器命令 作业启动命令 简单多用途守护程序* 处理器信息实用程序原创 2021-10-14 17:40:10 · 1116 阅读 · 0 评论 -
MPI教程7-9
7.点对点通信例程7.1一般概念7.1.1 首先,一个简单的例子原创 2021-10-13 11:22:51 · 1109 阅读 · 0 评论 -
MPI教程4-6
4.开始通用MPI程序结构:注:declarations声明prototypes原型头文件:进行MPI库调用的所有程序都需要。对于MPI-3 Fortran,使用mpi_f08模块比使用上面显示的包含文件更可取。MPI调用的格式:C名称区分大小写;Fortran名称不区分。程序不得声明名称以前缀MPI_或PMPI_开头的变量或函数。...原创 2021-10-12 17:59:36 · 888 阅读 · 0 评论 -
MPI教程1-3
1.摘要消息传递接口标准(MPI)是基于MPI论坛共识的消息传递库标准,该论坛有40多个参与组织,包括供应商、研究人员、软件库开发人员和用户。消息传递接口的目标是建立一个可移植、高效和灵活的消息传递标准,该标准将广泛用于编写消息传递程序。因此,MPI是第一个标准化、独立于供应商的消息传递库。使用MPI开发消息传递软件的优势与可移植性、效率和灵活性的设计目标紧密匹配。MPI不是IEEE或ISO标准,但实际上已成为在HPC平台上编写消息传递程序的“行业标准”。本教程的目标是教那些不熟悉MPI的人如何根.原创 2021-10-12 17:26:00 · 1755 阅读 · 0 评论 -
CUDA傅里叶变换 cufft
CUDA学习笔记3:CUFFT(CUDA提供了封装好的CUFFT库)的使用例子CUDA快速傅里叶变换(cuFFT)阅读笔记原创 2019-06-24 20:34:09 · 1113 阅读 · 0 评论 -
并行计算之MPI
并行计算:MPI总结MPI编程入门详解MPI Tutorialshttps://computing.llnl.gov/tutorials/mpi/MPI Exercise原创 2021-02-10 15:49:25 · 347 阅读 · 0 评论 -
NVIDIA CUDA工程师认证考试
报名及成绩查询地址:http://www.nvidia.cn/object/cuda-certificate-cn.html?src=nvsubfeatureNVIDIA CUDA工程师认证考试不组织考前培训,意在考核大家对CUDA编程的真正掌握度。Udacity提供的名为《并行编程简介》到目前为止,全球已经有超过250所大学开设了NVIDIA CUDA编程和GPU计算的课程。而国内学生、研究人员以及工程师也可通过多种途径学习到CUDA并行编程相关课程。除传统课程形式之外,NVIDIA推荐Uda原创 2020-09-29 18:29:29 · 1910 阅读 · 0 评论 -
CUDA与并行计算资料
CUDA编程入门极简教程,知乎的高赞入门教程CUDA官方文档:CUDA C Programming Guide原创 2020-09-29 09:56:51 · 241 阅读 · 0 评论 -
C语言实现OCT裁剪算法
1.中值滤波中值滤波需要用到并行编程技术:OpenMp并行计算之OpenMP入门简介原创 2020-04-23 18:37:17 · 697 阅读 · 0 评论 -
高性能计算学习资料
基础课程:伯克利大学:Applications of Parallel Computers(并行计算的应用程序)《深入理解计算机系统》 2016年机械工业出版社的图书,作者 (美)布赖恩特(Bryant,R.E.)。《并行计算》《分布式计算》《排队论》《调度》等《算法导论》网易公开课研究方向:1.并行算法研究,如寻找适用于GPU并行的算法,开发GPU实现,优化GPU2.并行体系结构研究,硬件:众核系统设计改进和模拟;软件:计算机语言设计和编译器改进,程序自动并行化等。3...原创 2020-05-09 11:01:57 · 838 阅读 · 0 评论 -
自己动手实现darknet:配置cuda环境
配置GPU环境VC++包含目录和c/c++ 附加包含目录的区别Cuda学习笔记(四)——在vs2010中配置.cpp和.cu文件编译时报错严重性 代码 说明 项目 文件 行错误 MSB3721 命令“"D:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin\nvcc.exe" -gencode=arch=com...原创 2019-11-25 18:07:57 · 1079 阅读 · 0 评论 -
darknet预测分类性能提升2:GPU加速pthread_in加载图片线程
更多文章参考:自己动手实现darknet预测分类动态库1.CUDA 10.0 +VS2015 环境搭建:安装CUDA,配置CUDA环境变量,VS2015中配置CUDA需要GPU加速的主要包括两部分:1.convert_to_image()darknet预测分类性能提升2.1:GPU加速convert_to_image()2.resize_iamge()darknet预测...原创 2019-11-26 14:37:24 · 399 阅读 · 0 评论 -
【darknet学习笔记】修改darknet源代码,使其能够直接训练二进制图像数据
更多darknet学习笔记,见darknet学习笔记背景描述:工业设备为了实时性和节省空间,保存图片往往时单通道二进制文件,目前darknet训练不支持单通道二进制格式,修改其代码使其可以直接运用公司设备。代码详解:1.main入口darknet.c是darknet框架入口mian函数中调用: } else if (0 == strcmp(argv[1], "cla...原创 2020-02-10 15:35:08 · 1990 阅读 · 0 评论 -
翻译:Tensor Ops Made Easier in cuDNN
Tensor Ops Made Easier in cuDNN张量操作在cuDNN中更容易2018年8月20日原创Neural network models have quickly taken advantage of NVIDIA Tensor Cores fordeep learningsince their introduction in the Tesla V100 GPU ...原创 2019-12-18 15:56:13 · 324 阅读 · 0 评论 -
darknet源码解析:forward_convolutional_layer_gpu
darknet源码解析:layer结构体之forward_gpuforward_convolutional_layer_gpu()函数源代码:void forward_convolutional_layer_gpu(convolutional_layer l, network_state state){ if(l.binary){ binarize_weight...原创 2019-12-17 18:34:14 · 917 阅读 · 0 评论 -
darknet源码解析:layer结构体之forward_gpu
darknet源码学习:forward_network_gpulayer结构体中forward_gpu定义:void(*forward_gpu) (struct layer, struct network_state);不同网络层forward_gpu指向不同函数:darknet源码解析:network结构体之n中,可以看出cfg文件中包含四种类型网络层:CONVOLUT...原创 2019-12-17 18:32:41 · 620 阅读 · 0 评论 -
darknet源码解析:network结构体之n
forward_network_gpu()源代码aanetwork make_network(int n){ network net = {0}; net.n = n;}parse_netork_cfg_custom中调用make_network(),关于parse_network_cfg_custom调用情况,参看:darknet源码解析:network...原创 2019-12-17 15:54:03 · 327 阅读 · 0 评论 -
darknet源码解析:network结构体之workspace
forward_network_gpu()源代码classifier.c中load_file接口:void load_file(char *cfgfile, char *weightfile){ net = parse_network_cfg(cfgfile); }parse.c文件:network parse_network_cfg(char *filename)...原创 2019-12-17 15:29:26 · 415 阅读 · 0 评论 -
darknet预测分类动态库:nan错误
更多文章参考:自己动手实现darknet预测分类动态库%g和%f区别:它们都是浮点输入/输出的例子:%g和%G是科学记数法浮点数%e和%E的简化。%g将采用可表示为%f(简单浮点数或双精度)或%e(科学记数法)的数字,并将其作为两者中较短的一个返回。您的打印语句的输出将取决于总和的值。准确率输出%g,集成到公司软件时,采用GPU模式时,异常输出nan。因为准确率的值为0...原创 2019-12-17 11:50:41 · 563 阅读 · 0 评论 -
darknet预测分类动态库,数据存储对接
更多文章参考:自己动手实现darknet预测分类动态库数据截取:CMemoryBase *memory = g_pScanManager->GetCurrentScan()->GetOCTMemory(); int rWidth = 1024; int width = 860; int height = 1000; BYTE** ppImage = (BYTE**)...原创 2019-12-16 11:38:16 · 144 阅读 · 0 评论 -
darknet动态库集成到公司软件时报错:CUDNN_STATUS_BAD_PARAM
更多文章参考:自己动手实现darknet预测分类动态库报错:[5956] MPTLOG 12256 cuDNN status Error in: file: convolutional_layer.c : cudnn_convolutional_setup() : line: 237 : build time: Dec 13 2019 - 11:54:32 status:3[595...原创 2019-12-13 14:36:34 · 2296 阅读 · 4 评论 -
darknet预测分类动态库:采集转换为darknet格式
采集中的数据存储: for (int j = 0; j < nHeight; j++) { for (int i = 0; i < nWidth; i++) { buff[j*nWidth + i] = pOCTData[j * nRealWidth + i]; } } 需要做的转换:for (int i = ...原创 2019-12-05 14:56:44 · 123 阅读 · 0 评论 -
darknet预测分类性能提升2.2:GPU加速resize_image()
更多文章参考:自己动手实现darknet预测分类动态库1.getpixel代码static float get_pixel(image m, int x, int y, int c){ assert(x < m.w && y < m.h && c < m.c); return m.data[c*m.h*m.w + y*m...原创 2019-12-04 11:22:47 · 717 阅读 · 0 评论 -
darknet预测分类性能提升2.1:GPU加速convert_to_image()
更多文章参考:自己动手实现darknet预测分类动态库1.convet_to_image代码如下:image convert_to_image(unsigned char* data,int w,int h,int c){ int i, j, k; image im = make_image(w, h, c); for (k = 0; k < c; ++k) { f...原创 2019-12-02 17:46:41 · 356 阅读 · 0 评论 -
darknet源码学习:get_network_output_gpu()
更多darknet源代码学习笔记,参看:darknet源码学习:预测分类函数float *network_predict_gpu(network net, float *input)get_network_output_gpu()float *get_network_output_gpu(network net){ int i; for(i = net.n-1; i &...原创 2019-11-29 17:54:59 · 290 阅读 · 0 评论 -
darknet源码学习:forward_network_gpu
更多darknet源代码学习笔记,参看:darknet源码学习:预测分类函数float *network_predict_gpu(network net, float *input)forward_network_gpu()函数在network_kenels.cu中实现void forward_network_gpu(network net, network_state state){...原创 2019-11-29 17:35:13 · 598 阅读 · 0 评论 -
darknet源码解析:cuda_push_array和cuda_make_array
更多darknet源代码学习笔记,参看:darknet源码学习:预测分类函数float *network_predict_gpu(network net, float *input)将主机host的数据拷贝到GPU设备x_gpu中void cuda_push_array(float *x_gpu, float *x, size_t n){ size_t size = sizeo...原创 2019-11-29 17:17:26 · 878 阅读 · 0 评论 -
CUDA 10.0 +VS2015 环境搭建:安装CUDA,配置CUDA环境变量,VS2015中配置CUDA
1.安装CUDAVS2015+CUDA 10.0安装环境时遇到的一些问题2.配置CUDA环境变量WIN10系统VS2015+cuda10.1安装及环境配置3.VS2015中配置CUDACUDA10.1安装 +VS2015开发环境搭建...原创 2019-11-27 19:09:27 · 2590 阅读 · 0 评论 -
VS2015+CUDA 10.0安装环境时遇到的一些问题
VS2015是以前就安装好了的。网上说,VS2015+CUDA 10.0一定要先安装VS2015,因为CUDA 10.0会自己配置VS。CUDA下载地址:http://developer.nvidia.com/cuda-downloads下载后直接安装,安装时选择自定义安装,自定义安装选项不要勾选Visual studio integration,否则安装会失败。打开cmd命令...原创 2019-11-27 19:01:06 · 2179 阅读 · 1 评论