随笔分类 -  C++编程

MindSpore自定义算子中的张量维度问题
摘要:MindSpore自定义算子中的张量维度问题当我们使用GPU进行快速运算时,虽然可以用成熟的深度学习框架如MindSpore和PyTorch等进行实现,但其实从速度上来说,最快不过直接使用C/C++的CUDA来实现。也正是因为如此,在MindSpore框架中支持了对CUDA实现的算子的直接调用,只是在格式规范上有一定的要求。本文主要介绍MindSpore调用本地CUDA算子的一些规范化和技巧。
164
0
0
CUDA指针数组Kernel函数
摘要:CUDA指针数组Kernel函数继上一篇文章学习使用C++存储一个不规则二维数组之后,这里介绍如何在C语言版的CUDA中实现一个不规则的二维数组。总体的实现思路跟前面一篇文章一样,使用了一个二维的指针数组来存储。其中主要的不同点大概就是在Host和Device之间的内存交互上,需要不断的分配、拷贝和释放内存,最终我们还是用一个CUDA的Kernel函数实现了一个不规则数组的输出。
254
0
0
C++中的不规则二维数组
摘要:C++中的不规则二维数组本文介绍了一个在C++中保存不定长二维数组的数据结构。在这个结构中,我们使用了一个含有指针和数组长度的结构体,用这样的一个结构体构造一个结构体数组,用于存储每一个不定长的数组。最后可以将这个不定长数组的内存地址赋值给一个结构体指针,那么这个结构体指针中就包含了所有不定长数组所需的内容。类似的使用场景,更多的出现在Python和C++两个不同的语言进行交互的时候,这样操作可以兼具Python的易开发特性和C++的高性能特性。
307
3
2
从Python语言的角度看C++的指针
摘要:从Python语言的角度看C++的指针本文主要是站在一个有一定的Python经验的C++新手的角度,学习一下C++中的指针使用方法。指针其实就是一个内存地址的标记,同时在用法上也跟Python中的迭代器很相似,可以通过指针移位来标记下一个需要读取或者更新的位置。通过这一篇文章,可以掌握指针对象的赋值、多重指针的使用和数组指针的使用,以及最后我们介绍了一个基于指针数组来实现的空间格点划分算法。由于是C++初学者,代码质量不高,也可能有更好的实现方式。
368
0
2
在C++中调用Python
摘要:本文介绍了一个在C++内部调用Python中封装的函数或者接口的方法,从环境配置到具体示例都有讲解,并且在其中包含有不少的坑点,需要一步一步去踩。不同的编程语言具有不同的优势,Python轮子众多而语法简单,上手容易,但是性能比较首先,C++的最明显优势就是在于其性能的天然优越性。但是我们不需要对哪一种编程语言有所偏倚,都有所掌握,并且能够有所互通,利用好各自的优势,才能够发挥最大的价值。
1992
2
0
C++基础——文件逐行读取与字符匹配
摘要:本文简单的介绍了C++中的三种基础操作:逐行读取文件内容、字符串匹配以及运行时间的统计,并且通过一个简单的范例来实现了这三种基本的功能。相比于python而言,C++的代码编写量肯定要多一些,但是考虑到C++可能带来的效率增益,我们也应当了解其基本的用法以及功能实现。
5361
0
1
点击右上角即可分享
微信分享提示
深色
回顶
收起

喜欢请打赏

扫描二维码打赏

了解更多