OpenCl 笔记1 Memory Model
来源:互联网 发布:李子君 知乎 编辑:程序博客网 时间:2024/05/03 19:52
Memory model
Registers
Equally to a CPU register file, it is private for each thread and read-/write-able. The amount of registers is limited depending on the occupancy, the kernel complexity and the GPU generation. Should the register file be exhausted, then data spills into local memory.
Local Memory
It is introduced to provide a dynamic approach of register files in order to overcome hardware limitations. The price to be paid is performance loss.
Shared Memory
It can be used for communication between all threads of a thread block as well as primary local storage space. Shared memory is generally the lowest latency communication method between threads. It is read- and write-able, but no coherency is guaranteed if two threads try to access it at the same point of time. Therefore atomic functions are included in the framework.
Constant Memory
The constant memory is one of the read only address spaces.
1-D Texture Array
In contrast to the constant memory the texture array allows an automatic interpolation between neighboring values - in hardware - depending on the given position.
1-D Linear Texture
In contrast to the 1-D texture array, the 1-D linear texture is write-able for kernel functions. Since the texture caches don't force coherence, it is important to understand the behavior will be undefined if a thread writes to a certain position while another thread is reading the position.
2-D Texture Array
Similar to 1-D texture array, provides a bilinear interpolations by hardware.
2-D Texture from Pitch-Linear Memory
Similar to 1-D linear Texture, they are write-able by the kernel.
3-D Texture Array
Unfortunately, there is no 3-D write-able texture available.
Global Memory
Compared to others,it is the slowest possible access. It is limited only by the amount of memory available on the graphics card.
Conclusion: without detailed knowledge about this memory model a parallel implementation is still possible, but a huge loss in performance is very likely.
- OpenCl 笔记1 Memory Model
- OpenCL memory object 之 Global memory (1)
- OpenCL学习笔记(1)
- 【OpenCL】Coalescing Memory Accesses
- Memory Model
- 浅析OpenCL memory object(1)—buffer与image
- OpenCl菜鸟,初学笔记1---opencl工作原理
- OPencl 笔记
- OpenCL笔记
- OpenCL笔记
- opencl笔记
- OpenCL 笔记
- Fixing the Java Memory Model, Part 1
- OpenCL memory object 之 Global memory (2)
- OpenCL memory object 传输优化
- Memory Consistency Model for Shared-Memory Multiprocessors学习笔记(一)
- OpenCL 1.0 Specification阅读笔记(1)
- 关于Memory Model
- 并发编程12-显示锁
- gentoo安装过程记录
- solr的增删改查
- 黑马程序员——Hibernate知识总结
- B\S备忘录06——不会 是你的谎言
- OpenCl 笔记1 Memory Model
- 上传图片的实现
- codeforces 514c Watto and Mechanism (hash)
- 难题Tanning Salon
- 工作1年半了,总结一下
- UVa #116 Unidirectional TSP (例题9-4)
- JSP学习笔记(四):JSTL标签
- 计算部分和
- track your activties