Mekeater
梦想似乎很遥远,但我愿用一生去追逐。
展开
-
CUDA程序基本优化--以规约算法为例
CUDA程序基本优化–以规约算法为例前言本文基于CUDA规约算法的实现,通过一步一步优化CUDA规约算法,深入理解CUDA程序的基本优化策略。一、什么是规约?二、规约算法基本实现三、规约算法优化一四、规约算法优化二五、规约算法优化三六、规约算法优化四七、规约算法优化五八、CUDA程序优化策略总结...原创 2021-04-05 23:05:24 · 1290 阅读 · 1 评论 -
CUDA程序小试牛刀
CUDA程序小试牛刀前言本文实现如何利用CUDA框架调用GPU计算两向量之和,并将GPU与CPU的计算效率做对比。一、向量求和A(X1,Y1) B(X2,Y2),则A + B=(X1+X2,Y1+Y2),A - B=(X1-X2,Y1-Y2)基于向量求和的特点,将每个向量元素相加用一个GPU线程进行计算,多个线程并行执行向量求和,一次性完成求和操作。二、代码实现CUDA代码#include <stdio.h>#include <cuda.h>typedef原创 2021-04-01 15:52:18 · 153 阅读 · 0 评论 -
CentOS7 安装配置CUDA教程
CentOS7 安装配置CUDA教程前言本篇博文介绍在CentOS7系统下安装和配置CUDA的完整流程。一、安装准备1.查看自己机器上的GPUlspci | grep -i nvidia# 若上句命令不存在,执行以下命令yum whatprovides */lspci yum install pciutils执行命令,可以查到我的GPU是Tesla P1002.查看CUDA支持的GPU,包括以下几大类GPU产品3.查看自己的CentOS版本uname -m &&原创 2021-01-16 16:59:47 · 8796 阅读 · 3 评论 -
CUDA编程入门教程
CUDA编程入门教程前言我们身处在这个大数据时代,我们的一切无时无刻都被数据所记录,大数据甚至已经变成了另一种形式的自我个体。对于传统的计算机而言,以往很多巧妙的算法,面对海量数据也会失去光彩,变得无能为力。因为,计算机CPU总是在“单打独斗”,一个CPU的力量就算再强大,也抵不过千军万马。正如武侠小说中那样,每个时代总会有盖世英雄,但一个身怀绝技的大侠,也许面对些许敌人不足为惧,但是如果所有敌人都群拥而上,那估计他也要挂了。CPU就是一个时代中的佼佼者,他们不仅身怀绝技而且心怀天下,但是,这样的CPU原创 2021-01-09 22:01:28 · 2100 阅读 · 0 评论 -
C语言之malloc和realloc
C语言之malloc和realloc前言:利用malloc和realloc函数对内存进行动态分配,有利用提高内存的使用效率,并可以在程序开始时不用确定内存的大小。一、malloc和free他们都在头文件stdlib.h中声明,函数的原型如下void *malloc ( size_t size );//malloc返回一个void *的指针,它可以转换为其它任何类型的指针。void fr...原创 2019-03-06 09:11:25 · 898 阅读 · 0 评论 -
C语言之结构体(二)
结构体变量与指针一、结构体类型的指针变量定义示例:struct person per, *p;//定义一个struct person类型的结构体指针变量pper={&quot;Mekeater&quot;,23,1.8,60};p=&amp;amp;per;p-&amp;gt;height=1.8f;//利用指向结构体成员运算符“-&amp;gt;”来引用该变量成员二、指向结构体数组的结构体指针变原创 2019-02-25 22:21:38 · 492 阅读 · 0 评论 -
C语言之结构体(一)
C语言之结构体一、概念结构体也是一种数据类型罢了,只不过它是一种由程序员自己定义的数据类型。结构体既然是一种数据类型那么也可以像基本数据类型一样,定义结构体变量、结构体数组、结构体指针。**结构体的定义示例:**定义一个person的结构体数据类型struct person{ char name[12]; int age; float height; float weight;...原创 2019-02-25 21:16:37 · 291 阅读 · 0 评论 -
C语言之指针与函数
C语言之指针与函数前言指针的重要应用场景是作为函数的参数以及函数的返回值。那么我们就需要有一下三个问题:1、如何使用指针作为函数参数;2、如何定义和使用返回值为指针的函数;3、如何定义和使用指向函数的指针变量一、如何使用指针作为函数参数1、变量的指针作为函数参数这种操作方式的结果是主调函数中对应的局部变量的作用域被拓展被调函数中。被调函数就可以通过这些局部变量向主调函数传递数据。也...原创 2019-02-25 20:21:01 · 567 阅读 · 0 评论 -
C语言之指针与数组
C语言之指针与数组前言访问数组元素既可以使用数组名加下标的方法,也可以使用指针的方法。但使用指针的方法可以使代码更紧凑、更灵活、更高效。一、几个概念数组的指针:数组所占内存区域的起始地址。而数组名代表数组的起始地址,即数组的指针。数组元素的指针:数组元素所占内存区域的起始地址。二、指针访问一维数组在这里插入代码片...原创 2019-02-22 08:36:32 · 326 阅读 · 0 评论 -
C语言之指针的基础知识
C语言之指针前言指针可以指向各种基本类型和构造类型的数据,运用指针能够编写出更简洁、紧凑、高效的程序。规范化的使用指针,可以使程序简单明了。而且某些运算不通过指针无法实现。一、基本概念内存单元的地址:计算机系统以字节为单位,对内存单元进行的编号,通常是一个无符号的32位整数。内存单元的内容:存放在内存单元中的二进制代码。*补充:*计算机系统就是通过内存单元的地址来存取内存单元的...原创 2019-02-09 17:16:48 · 634 阅读 · 0 评论 -
C语言数组+冒泡排序
C语言数组原创 2019-02-03 17:17:58 · 11816 阅读 · 0 评论 -
C语言简介
C语言简介前言后续我会参照赵生慧主编的《C语言程序设计》,逐步以思维导图+示例代码的方式,更新完成正本书,以供大家学习,同时夯实自我基础。示例代码:输入三个数字,输出最大者;#include&lt;stdio.h&gt;int main(){ printf("请输入三个数字:\n"); int a,b,c; scanf("%d,%d,%d",&amp原创 2019-01-20 22:14:35 · 637 阅读 · 0 评论