объект push_back на thrust :: device_vector - PullRequest
0 голосов
/ 06 июня 2018

Я пытался использовать thrust :: device_vector для хранения структуры, и она работала нормально, пока я дважды не вызвал push_back (), и программа не вылетела.Программа также потерпела крах, когда я использовал resize ().

Вот код, который я использую, я компилирую его с помощью nvcc:

#include <iostream>
#include <thrust/device_vector.h>

using namespace thrust;
using namespace std;

struct Test
{
  int value;
  __device__ __host__
  Test() {
    value = 0;
  }
  __device__ __host__
  ~Test() {}
};

int main() {
  device_vector<Test> test_d = device_vector<Test>();

  cout << "First" << endl;
  test_d.push_back(Test());

  cout << "second" << endl;
  test_d.push_back(Test());

  cout << "done" << endl;
  return 0;
}

Вывод программы дает мне это:

Первый

Второй

Ошибка nvcc: '. \ "A.exe"' умер со статусом 0xC0000409

Этопрограмма правильная, как в случае сбоя на других машинах или я что-то упустил?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...