1
boost::numeric::ublas::vector<double>
(http://www.boost.org/doc/libs/1_41_0/libs/numeric/ublas/doc/vector.htm)을 사용하고 있습니다.boost :: numeric :: ublas :: vector 내부 데이터 저장소 포인터
어떻게 내부 데이터 포인터를 이중으로 가져올 수 있습니까? 벡터를 CUDA (i.e. using cudaMemcpy)
에 복사하고 싶기 때문에 내부 포인터가 필요합니다. 아니면 내 부스트 벡터/행렬을 복사하는 우아한 방법이 있습니까?
boost::numeric::ublas::vector<double> vector;
double* ptr = &vector[0];
하지만 더 우아한 방법이 :
나는 내가 좋아하는 뭔가를 할 수있어? unbounded_array
반복자가 있기 때문에이 작동
cudaMemcpy(device_dest,
vector.data().begin(),
vector.data().size(),
cudaMemcpyHostToDevice);
:
vector<double, unbounded_array<double,n_elements>> vector;
다음이 같은 작업을 수행 할 수 있습니다