Ich habe eine Matrix (Reihe orientiert) innerhalb einer thrust::device_vector<T>
. Gibt es eine Möglichkeit, ein Stück/eine Ansicht dieses Vektors zu erhalten (das wäre auch vom Typ thrust::device_vector<T>
)? Ich bin nicht an Kopierkonstruktoren interessiert, da diese neue Vektoren erstellen und Speicher verwenden.Schubvektor Scheibe/Ansicht
Also im Grunde nehmen wir einen Vektor thrust::device_vector<int> vec = {1,2,3,4,5,6}
Ich würde gerne thrust::device_vector<int> vec_view = vec.slice(2,4)
tun, die eine Ansicht sein würde, die auf {3,4}
zeigt.
Müssen bestimmte Berechnungen in Batches ausführen und die Methode, die ich verwende, dauert nur thrust:device_vector<T>
(keine Iteratoren usw.).
Ja, genau davor hatte ich Angst. Ich denke, ich muss einfach irgendwie darauf verzichten. Sie fragen sich, ob das nur ein 'Schub'-Mangel ist oder ob es aufgrund anderer Bedenken nicht getan wurde. –
Alle Schubcontainer wurden nach der SGI STL/C++ - Standardbibliothek modelliert, und sie bieten so etwas nicht. Das naheliegende Modell wäre etwas wie "boost :: range", aber das ist immer noch ein Iterator, kein Container. Es scheint mir, dass das Problem wirklich mit der API ist, die Sie verwenden. Wenn es geschrieben wurde, um Iteratoren zu akzeptieren, würden wir diese Konversation nicht haben ..... – talonmies