TH库源码学习
爆米花好美啊
个人网站: renguanghui.com
展开
-
TH库学习: strided indexing scheme(预备知识)
数组步长首先介绍一下步长的概念即:相邻数组元素在内存中的开始地址的距离。数组步长如果等于数组元素的尺寸,则数组在内存中是连续的。比如int[10],如果它是连续的,则第0个元素和第1个元素在内存中开始地址的距离为sizeof(int),即刚好差一个元素的大小,如果不连续,则会大于一个元素的大小,因为它们两个之间多余字节。strided indexing scheme在numpy、T...原创 2018-03-19 22:24:55 · 1964 阅读 · 0 评论 -
TH库学习(二): THTensorApply宏观理解(简化)
特别说明,本文大多思路和解释都源于: [1] PyTorch源码浅析(一) [2] PyTorch源码浅析(二) [3] tiny_libTensorApply系列的宏函数是TH实现各种张量元素操作最重要的操作,它们负责把一个针对某些标量的操作应用到多个张量元素上去。在GPU部分是相当于一个map的操作。大致方法是优先去操作内存连续部分,然后再操作不连续的部分,以增加CPU cache命...原创 2018-03-23 17:42:35 · 2085 阅读 · 0 评论 -
TH库学习: C语言实现模板编程(预备知识)
提前声明下面的例子和部分代码来源于PyTorch源码浅析(一)引子假如我们要实现一个函数: 两个Vector的相加,我们需要考虑int、float、double这3种类型,在C++中我们可以利用模板轻松搞定// C++模板类,轻松搞定template<typename T>void add(Vector<T> &c, Vector<T&...原创 2018-03-21 00:23:40 · 3450 阅读 · 1 评论 -
TH库学习(一): THTensor, THStorage, THAllocator介绍
pytorch中的底层很多代码都是来源于的torch的低层Tensor库 TH = TorcH THC = TorcH Cuda THCS = TorcH Cuda Sparse THCUNN = TorcH CUda Neural Network (see cunn) THD = TorcH Distributed THNN = TorcH Neural...原创 2018-03-22 00:45:11 · 4559 阅读 · 2 评论