gpt4 book ai didi

ocaml - 在 OCaml 中管理 GPU 内存

转载 作者:行者123 更新时间:2023-12-02 00:00:29 25 4
gpt4 key购买 nike

我想知道是否可以为 OCaml 记录创建一个终结方法?我正在创建一个 GPU 数据库,我正在使用 OCaml 构建 DSL 来查询和操作 GPU 数据,我需要一种方法来释放 GPU 内存,当它们符合 GC 条件时(不再引用)。

我已经创建了一个绑定(bind)到我的基于 C 的 GPU api 以允许 malloc、释放和操作 GPU 数据,但我正在寻找解决方案来释放 GPU 内存,当它不再被顶层变量引用时。

let bids = (**a 1-dim GPU array*) and asks = (**another 1-dim GPU array*) in
let spread = asks - bids

在这个例子中,我需要为驻留在 GPU 内存中的出价和询价向量释放 GPU 内存。我想我需要编写自己的语言?

最佳答案

您可能需要自定义 block ,因为您的数据不是纯 Caml:

http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual033.html

19.9 Advanced topic: custom blocks

Blocks with tag Custom_tag contain both arbitrary user data and a pointer to a C struct, with type struct custom_operations, that associates user-provided finalization, comparison, hashing, serialization and deserialization functions to this block.

您可以将 C 终结函数附加到自定义 block 。当 block 在 OCaml 世界中被 GC 时调用它们。

关于ocaml - 在 OCaml 中管理 GPU 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21710631/

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