上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页
摘要: new操作符 C++中利用new操作符在堆区开辟数据 堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete 语法:new 数据类型 利用new创建的数据,会返回该数据对应的类型的指针 示例1:基本语法 #include <iostream> using namespace std; 阅读全文
posted @ 2020-08-20 09:03 flyingswallow 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 程序运行后 栈区: 由编译器自动释放,存放函数的参数值,局部变量等 注意事项: 不要返回局部变量的地址,栈区开辟的数据由编译器自动释放 示例: #include <iostream> using namespace std; int * func() { int a = 10; return &a; 阅读全文
posted @ 2020-08-20 08:43 flyingswallow 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 1 内存分区模型 c++程序在执行的时候,将内存大致分为4个区域 代码区:存放函数体的而二进制代码,由操作系统管理 全局区:存放全局变量,静态变量和常量 栈区:由编译器自动分配和释放,存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序运行结束时由操作系统回收 内存四个区域的 阅读全文
posted @ 2020-08-19 09:32 flyingswallow 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 虽然Matlab可以很方便的进行微分方程的求解,但笔者一直好奇怎样实现用C语言去实现一个微分方程的求解。 所以笔者挑选了一个比较简单的方程进行实现dy/dx=y+x,我采用的方法比较简单,通俗来讲就是斜率公式。高中 时候我们学过两点之间的斜率,(y2-y1)/(x2-x1)=k,其中k是斜率,根据d 阅读全文
posted @ 2020-08-09 05:15 flyingswallow 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 说到统计词频数,python比cuda要好用多了,首先是python有相关的库供我们使用, 还有python调用相关的函数,省去我们在cuda中需要写很多的函数。汉语的词频统计 和英语有些不同,汉语需要用到jiba库。 英文词频统计的思路:1.首先我们将文中的特殊字符,替换为空格; 2.进行词语分割 阅读全文
posted @ 2020-07-22 06:06 flyingswallow 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 用CUDA求解矩阵的逆,有多种方法,也可以自己编写内核函数去实现,我查阅CSDN上用 cublas求解矩阵逆的方法,但是作者写的比较繁琐,其他观看学习的人会觉得比难懂。所以我 决定自己写一个。我采用的是LU分解法,cublas提供了相应的函数。代码如下: #include <stdio.h> #in 阅读全文
posted @ 2020-07-22 05:42 flyingswallow 阅读(2954) 评论(0) 推荐(1) 编辑
摘要: Thrust自定义函数非常灵活,给编写程序带来方便,上次的自定义函数没有带参数,这次 笔者写一个带参数的自定义函数。通过这次写带参数的自定义函数,我对如何用transformation 调用函数有了更深的理解。 代码: #include <thrust/device_vector.h> #inclu 阅读全文
posted @ 2020-07-22 05:12 flyingswallow 阅读(436) 评论(0) 推荐(0) 编辑
摘要: Thrust有一个Transformations. 这个方法为我们进行数学运算提供了方便其中 thrust/functional.h 包含大部分内建的算法和比较操作。代码如下: #include <thrust/device_vector.h> #include <thrust/transform. 阅读全文
posted @ 2020-07-22 04:29 flyingswallow 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 在编程中我们经常会合并某个矩阵,通常我们会使用循环来实现,然而循环有时候会降低程序运行的效率, 所以利用ArrayFire中的向量的平坦模式,我们可以利用空间来换取时间。主要的思路是: 1.我们将m*n的矩阵展开成一个1*(m*n)或者(m*n)*1的向量; 2.同理我们将p*q的矩阵展开成一个1* 阅读全文
posted @ 2020-07-12 05:10 flyingswallow 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 安装好ArrayFire后,我们可以使用该库进行GPU编程了,在thrust库中我们实现了无穷范数的程序编写。可以看出使用thrust我们需要定义很多的变量,还要实现GPU和host之间的数据传递,如果是用 ArrayFire来实现会容易一些。我用一个小例子来进行说明。 代码: #include " 阅读全文
posted @ 2020-07-12 04:51 flyingswallow 阅读(286) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 12 下一页