Скопируйте из std::deque в device_vectorC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Скопируйте из std::deque в device_vector

Сообщение Anonymous »

Я пытаюсь создать пример кода, в котором я копирую из std::deque в chunk::device_vector, но компилятор предупреждает, что вызов функции __host__ из функции __host__ __device__ недопустим разрешено (я пытался скопировать сюда всю ошибку, но она выходит за пределы количества символов в вопросах). При необходимости я могу опубликовать более подробную информацию.

Код успешно компилируется, но меня очень раздражают эти ошибки, поскольку они не случаются с другими контейнерами stl, такими как std:: list и std::vector.
Я хочу знать, почему они происходят и как исправить эти предупреждения.

Вот результат nvcc --version:

nvcc: драйвер компилятора NVIDIA (R) Cuda
Авторские права (c) 2005 г. -2016 Корпорация NVIDIA
Создано на вторник_января_10_13:22:03_CST_2017
Инструменты компиляции Cuda, выпуск 8.0, V8.0.61


Вот мой пример кода

Код: Выделить всё

#include 
#include 
#include 
#include 

const uint size = 100;

__global__
void hello (int *a) {
a[threadIdx.x] += threadIdx.x;
}

int main (int argc, const char **argv) {
std::deque a(size);
std::fill(a.begin(), a.end(), 1);

thrust::device_vector a_cuda(a.begin(), a.end());

dim3 dimBlock(size, 1);
dim3 dimGrid(1, 1);
hello>(thrust::raw_pointer_cast(&a_cuda[0]));

thrust::copy(a_cuda.begin(), a_cuda.end(), a.begin());

for (const int i : a) {
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/43590541/copy-from-stddeque-to-thrust-device-vector[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»