gpt4 book ai didi

c++ - 如何在 Linux 中编译 ISPC 代码并将其与普通 cpp 文件链接?

转载 作者:行者123 更新时间:2023-12-04 07:48:39 24 4
gpt4 key购买 nike

我想编译一个 ispc 程序。我正在尝试为其示例程序之一生成可执行文件。
我有带有以下内容的 simple.cpp

#include <stdio.h>
#include <stdlib.h>

// Include the header file that the ispc compiler generates
#include "simple_ispc.h"
using namespace ispc;

int main() {
float vin[16], vout[16];

// Initialize input buffer
for (int i = 0; i < 16; ++i)
vin[i] = (float)i;

// Call simple() function from simple.ispc file
simple(vin, vout, 16);

// Print results
for (int i = 0; i < 16; ++i)
printf("%d: simple(%f) = %f\n", i, vin[i], vout[i]);

return 0;
}
我有带有以下内容的 simple.ispc
export void simple(uniform float vin[], uniform float vout[],
uniform int count) {
foreach (index = 0 ... count) {
// Load the appropriate input value for this program instance.
float v = vin[index];

// Do an arbitrary little computation, but at least make the
// computation dependent on the value being processed
if (v < 3.)
v = v * v;
else
v = sqrt(v);

// And write the result to the output array.
vout[index] = v;
}
}
我可以使用 cmake https://github.com/ispc/ispc/tree/main/examples/cpu/simple获取可执行文件,但我想知道运行 simple.cpp 文件需要执行的原始命令。有人能告诉我如何用 ispc 编译和运行 simple.cpp 文件吗?

最佳答案

根据 the ISPC User's guide您可以使用 ispc作为终端中的命令:

ispc simple.ispc -o simple.o
这会生成一个目标文件 simple.o您可以链接到您的 simple.cpp文件与常规 C++ 编译器,如 g++。
编辑:
编译为 simple_ispc.h :

The -h flag can also be used to direct ispc to generate a C/C++ headerfile that includes C/C++ declarations of the C-callable ispc functionsand the types passed to it.


所以你可能可以做类似的事情
ispc simple.ispc -h simple_ispc.h
进而
g++ simple.cpp -o executable
获取可执行文件。

关于c++ - 如何在 Linux 中编译 ISPC 代码并将其与普通 cpp 文件链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67080716/

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