Kann ich das einbetten von C++ - Klassen in OpenCL-Kernel?

gibt es eine Möglichkeit, selbst definierte C++ - Klassen in einem OpenCL-kernel?
Es sollte funktionieren wie dieser:

#include "element.cpp"
__kernel void do_something(__global element* input, __global element* output);
{
    int index = get_global_id(0);
    output[index] = input[index].update(index);
}

Dies ist interessant, denn Sie können angeben, dass die Arbeit, die getan werden muss im element::update(int no) danach.

Bekomme ich es nicht zum arbeiten. Dies ist, was die OpenCL-Compiler sagt mir:

unknown type name 'class'

In CUDA das funktioniert. Gibt es irgendwelche andere Ideen, wenn der Ansatz mit Objekten, die in der OpenCL-kernel nicht funktioniert?

Vielen Dank für Eure Hinweise im Voraus!

  • CUDA ermöglicht einige C++ - features wie templates im Kernel.
InformationsquelleAutor cl_progger | 2011-02-17
Schreibe einen Kommentar