【问题标题】:MATLAB & Mex-Files: Auto-optimization of CUDA-Code depending on Input-Parameters sizeMATLAB 和 Mex 文件:根据输入参数大小自动优化 CUDA 代码
【发布时间】:2011-08-24 04:02:07
【问题描述】:

你好, 我目前正在 matlab 中开发一个 Mex 文件,包括 CUDA 计算。我想知道是否有一种“自动”优化来自用户的任意输入参数的程序的好方法。例如。当输入参数不超过某个大小时,请尝试使用共享和/或常量内存......这只能在某些限制下工作。从那里开始,必须使用全局内存。但是这种优化只能在运行时进行,因为这是我从用户那里了解输入参数大小的关键。有什么简单的解决办法吗? 谢谢!

【问题讨论】:

    标签: optimization matlab cuda mex


    【解决方案1】:

    您可以简单地编写不同的内核并决定在运行时调用哪些内核。

    您还可以使用设备查询 API 或进行一些微基准测试来确定运行时共享/恒定内存的大小。如果您不想假设特定的 GPU 模型,这可能是必要的。

    【讨论】:

    • 嗯,好的,谢谢,听起来不错。因此,当我有一个全局变量 __constant__ 时,当我不对其执行任何操作时(例如,当调用内核以获得更大的问题大小以致常量内存太小时)时,这不会使我的程序变慢吗?每个 GPU 模型的常量和共享内存是否不同?
    • 这个问题与原来的问题完全不同。请编辑您的原始问题或发布新问题。正确回答会占用一些空间。
    猜你喜欢
    • 2013-06-10
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多