2012-01-30 14 views
1

私はboost::numeric::ublas::vector<double>http://www.boost.org/doc/libs/1_41_0/libs/numeric/ublas/doc/vector.htm)を使用しています。boost :: numeric :: ubas :: 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; 

が、あなたはこのような何かを行うことができます。

答えて

1

は、私はあなたのストレージモデルとしてunbounded_arrayを使用してベクトルをインスタンス化している場合だと思います格納される型への標準C++ポインタ。

関連する問題