如何在内核中包含标准c文件?

时间:2014-03-05 16:20:31

标签: cuda opencl

由“CUDA卓越中心,IIT Bombay”推荐

我正在研究网络工具的并行化,但是我无法在内核中包含像socket.h这样的标准c文件,因为内核不支持标准C头文件,它只能理解一些预定义的数据类型和函数。所以我只想知道如何在内核中包含标准头文件,还是有其他方法呢?

1 个答案:

答案 0 :(得分:2)

这不仅仅是无法包含标题的问题。 CUDA和OpenCL内核在专用软件环境中运行,通常在GPU等专用硬件上运行,软件环境不包括网络堆栈。

CUDA和OpenCL可能不太适合网络应用程序。它们用于处理器密集型的data-parallel任务 - 在大量数据值上执行相同的算法。 GPU设计用于跨多个线程同时执行相同的指令,但在网络应用程序中,传入的请求被分派到线程,线程需要能够彼此独立地工作。您不希望您的应用程序延迟发送一个响应,直到其他31个响应也准备好发送。