繁体   English   中英

如何在C ++中的另一个mex(MATLAB)目标文件中调用一个cuda目标文件的函数?

[英]How do I call one cuda object file's function inside other mex (MATLAB) object file in c++?

我正在编写mex代码和cuda代码。 我想知道每个代码都有两个目标文件,并从mex文件调用cuda内核,因为我通过结合它们的目标文件来获得可执行文件。 因此,我需要知道(如果可能)如何从另一个目标文件调用一个目标文件的功能。 是否可以使用各自的编译器编译mex和cuda并以这种方式组合它们?

这是完全可能的。 我前一段时间玩过这个。 当前支持的方法使用MATLAB并行计算工具箱。 有指示,所以做

为了扩展一点,已编译的mex文件实际上只是具有已编译的mex网关的动态库。 只要您具有网关,就可以适当地链接文件,并为生成的编译文件提供适当的mex扩展名(例如mexa64,mexmaci64等),该文件将起作用。

重要的是要注意,您无需使用MATLAB中的mex函数来编译文件。 这允许您使用一些不受支持的方式在MATLAB之外进行编译。 如果您没有并行工具箱,或者需要对操作进行更细微的控制,或者更喜欢在工作流程中使用make,那么这可能会很有用。 有关如何开始此操作的说明,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM