【问题标题】:What is a CUDA context?什么是 CUDA 上下文?
【发布时间】:2017-08-31 20:41:37
【问题描述】:

谁能解释或向我推荐一些关于什么是 CUDA 上下文的好资料?我搜索了 CUDA 开发者指南,对它并不满意。

任何解释或帮助都会很棒。

【问题讨论】:

  • 没有关于 cuda 上下文内容的公开信息,就其性质而言,可能会更改以包含新功能。我看不出有什么更好的方式来描述它,我也不明白遗漏了什么,以及你所期望的。
  • 我可以查看的任何其他开源库中是否有类似的概念?
  • 我认为 opencl 上下文确实非常相似。 khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/…。据我所知,opencl 的开源实现是存在的。

标签: cuda nvidia cuda-context


【解决方案1】:

cuda API 公开了有状态库的特性:两个连续的调用相互关联。简而言之,上下文就是它的状态。

runtime APIdriver API 的包装器/帮助器。您可以在驱动程序 API 中看到上下文是显式可用的,并且为了方便起见,您可以拥有一个上下文堆栈。驱动程序和运行时 API 之间共享一个特定的上下文(请参阅primary context)。

上下文包含所有用于控制和使用设备的管理数据。例如,它保存了分配的内存列表、包含设备代码的加载模块、零拷贝的 CPU 和 GPU 内存之间的映射等。

最后,请注意,这篇文章更多地来自经验,而不是文档证明。

【讨论】:

  • 两个答案都很有启发性。但我仍然不满意。你能详细描述一下吗?
【解决方案2】:

本质上,一种数据结构,其中包含与在您进行的调用之间保持一致状态相关的信息,例如(打开)(执行)(关闭)

这样您调用的函数可以向正确的方向发送信号,即使您没有明确告诉他们该方向是什么。

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 2016-03-21
    相关资源
    最近更新 更多