gpt4 book ai didi

OpenCL 中的 HashMap?

转载 作者:行者123 更新时间:2023-12-02 15:40:14 26 4
gpt4 key购买 nike

是否可以在 OpenCL 中创建一个简单的 HashMap?例如。其中所有键的类型均为 long 且所有值的类型为 int,并且无需修改(即以只读方式传递给内核)。

HashMap 的构造可能需要时间(是否在 CPU 上完成一次,就不再需要修改),但读取访问会很频繁,因此 get(long key, *hashmap H)应该很便宜。

OpenCL 中是否有任何已知的实现?我没能找到他们。如果我必须从头开始编写一个 HashMap 实现,哪种 HashMap 实现最适合这种用途?

最佳答案

我认为使用 open addressing 实现一个简单的哈希表可以在这里满足您的要求:

  • 本质上它存储在单个缓冲区中,因此传输到内核很简单。
  • 这样就可以很容易地在内核中编写 getter 逻辑,特别是当您不需要任何同步(只读)时。

因此,传递一个 long2 的缓冲区或一个 struct { long key; 的缓冲区;整数值; },当第一项是键,第二项是值时,还传递缓冲区大小;现在编写一个常规的开放地址 getter。

关于OpenCL 中的 HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13773880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com