gpt4 book ai didi

python c 扩展/opencl 守护进程

转载 作者:行者123 更新时间:2023-11-30 18:02:11 26 4
gpt4 key购买 nike

我正在研究内存数据库的概念证明。我确实了解像 redis 这样的东西,并且喜欢像相交集这样的东西,但这还不够。我想了解如何实现类似 parstream 数据库或 Drawingtoscale 解决方案的服务。因此我喜欢有一个守护进程来将东西保存在内存中。我用pyro做了一个原型(prototype),它做了它应该做的事情:生成一个随机位图索引并接受位图掩码作为来自pyro客户端的输入并返回与位图掩码匹配的所有主键。但是迭代索引在某些程度上太慢了,这一点很明显,因为它是 python 的。我想使用 C 扩展来执行索引扫描。因此,位图索引应保存在 c 扩展内的内存中。下一步是在 GPU 内存中保留相同的数据,并在我的 GPU 内部进行迭代。

没有编写 C 扩展和 pyOpenCL 的经验,我的问题是:我可以将数据保存在我的 C 扩展中并使用 python(pyro daeomon 甚至 Flask/tornado )来接收和返回查询,而不复制整个位图索引吗?时间?

问候克里斯蒂安

最佳答案

是的,C 扩展可以分配内部结构,但请务必在需要时正确销毁数据。您还可以将代码编写为 C/C++ DLL,并使用 ctypes python 扩展直接访问 C 函数并向它们传递 C 变量(int、char * 等)。

关于python c 扩展/opencl 守护进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385251/

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