Gast
#2631359
Hallo Programmierer! Ich nutze OpenCL, welches auf C basiert. Hierbei werden Codeabschnitte, die auf z.B. GPUs laufen sollen, in externe Methoden - sog. Kernels - ausgelagert. Diese Kernels werden zur Laufzeit kompiliert und in das eigentliche Programm - den Host - dynamisch eingebunden. Nun übergebe ich so einem Kernel ein vom Host erzeugtes 1d-float-Array. Weil der Host in Python programmiert wird, sind dynamische Arraygrößen bei der Initialisierung kein Thema. Im Kernel brauche ich ein temporäres Array, welches die selbe Größe hat wie das übergebene. Und hier komme ich nicht weiter, weil ich erst zur Laufzeit wissen kann, wie groß das zu kopierende Array ist. C unterstüzt aber keine variablen Arraygrößen bei der Initialisierung. Wie kann ich diese Einschränkung umgehen ohne auf C99 auszuweichen?