使用python、tensorflow和gpu的非连续子阵列的效率

fxnxkyjh  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(194)

我自学了一些关于CUDAC的知识,并编写了在gpu上运行的内核。从我学到的几件事中,我记得数据的内存布局对于最大限度地有效利用缓存的不同层是多么重要。从加载的256位数据中使用的数组中的一个未对齐可能会导致每个线程进行加载调用,而不是对所有线程进行一次加载调用,从而导致加载下一条指令所需的所有数据的时间开销很大。我错了吗?
我正在用tensorflow和keras制作一个简单的神经网络。我用python精心制作的图像块为这个ai提供素材。现在的块不是连续的,比如 2x2 chunk=[[0,1],[4,5]] from an image 4x4 [0,1,...,14,15] . 这个数组,从python到tensorflow,再到nvidia驱动程序和实际的gpu vram,是否会以某种方式进行复制、细化或使其连续,或者数组的内存布局将完全相同而不连续?
我知道有不同的选项可以使子数组块连续,但我想知道这是否是我真正应该担心和注意的事情,以及性能会降低多少。有人测量过吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题