Opencl 寄存器和专用缓冲区

Opencl 寄存器和专用缓冲区,opencl,Opencl,openCL中寄存器和私有内存之间的区别是什么。实际上,寄存器是片上的,因此接近内核。私有内存是从DRAM分配的,DRAM离核心相当远。从近到远,我们这里指的是延迟。从寄存器读取可能需要1-10个时钟周期,而从DRAM读取可能需要200-400个时钟周期 此外,作为一个程序员,你不能真正解决一个特定的寄存器(除非你做汇编编程)。什么寄存器将用于执行内核由编译器或处理器在运行时决定。但是,您可以根据需要寻址专用内存的特定位置。非常感谢您的重播。我们如何访问这些内存,好的,我们访问private b

openCL中寄存器和私有内存之间的区别是什么。

实际上,寄存器是片上的,因此接近内核。私有内存是从DRAM分配的,DRAM离核心相当远。从近到远,我们这里指的是延迟。从寄存器读取可能需要1-10个时钟周期,而从DRAM读取可能需要200-400个时钟周期


此外,作为一个程序员,你不能真正解决一个特定的寄存器(除非你做汇编编程)。什么寄存器将用于执行内核由编译器或处理器在运行时决定。但是,您可以根据需要寻址专用内存的特定位置。

非常感谢您的重播。我们如何访问这些内存,好的,我们访问private by uu private,但是寄存器呢。梅格哈拉:答案可以在我的回答中找到:你不能从OpenCL访问寄存器。内核使用的寄存器由编译器或运行时的硬件决定(与任何其他语言一样).我想这可能是我的一个问题的原因stionhttp://stackoverflow.com/questions/9885880/effect-of-private-memory-in-opencl.in 在网上的一些文章中我看到,在OpenCL内核中,如果我们默认使用没有私有的变量,它们将是私有内存,但这是否像编译器对某些变量使用寄存器一样,当它超过可用寄存器时,它将使用私有内存?梅格哈拉:是的。当发生寄存器溢出时,可能会使用私有内存来处理。