2012-09-12 16 views
5

Có thể sử dụng push_back với thư viện Thrust không? và những gì về một vector của vectơ? Tôi muốn sử dụng trong các GPU gì trong CPU là:push_back sử dụng thư viện Thrust

vector< vector<int> > MyVector(100); 
... 
MyVector[i].push_back(j); 

Có cách nào để sử dụng nó như ví dụ:

thrust::device_vector<thrust::device_vector<int>> d_vec(4); 

và những gì về việc tạo ra một loạt các device_vectors? Có thể không?

Trả lời

4
  1. Có, thrust::device_vector có phương thức push_back giống như std::vector.
  2. Không, không thể có device_vector chứa device_vectors. Nếu bạn cần loại chức năng đó trong lực đẩy, tôi khuyên bạn nên xem xét thrust::zip_iterator để có thể cung cấp "mảng cấu trúc" như truy cập vào một loạt các vectơ hoặc vòng lặp riêng biệt.
+0

Điều tôi muốn truy cập vào 'device_vector dv' theo cách này:' dv [i] [j'] – Manolete

+0

@Manolete: Tôi không tin điều đó là có thể. – talonmies

+0

Nhưng bạn có thể làm dv [i * width + j]. – harrism