4

GNU 多倍精度ライブラリ (gmp) で cuda を使用しようとしています。mpf_init() のような gmp 命令をデバイス コードに追加すると、次のコンパイラ エラーが発生します: tlgmp.cu(37): エラー: __ device__ /__ global__ function("histo" ) は許可されていません。

gmp 命令を再定義して、デバイス コードで使用できるようにすることはできますか?

4

1 に答える 1

3

GMP ライブラリはホスト用にコンパイルされているため、デバイス コードで直接使用することはできません。これが、表示されているエラーの直接の理由です。

これはオープンソース ライブラリであるため、コードを__device__調べて、必要なさまざまな機能に適切なデコレータ (および場合によってはその他の変更) を備えた独自のバージョンを作成する努力が必要になる場合があります。ただし、これにはおそらくかなりの量の作業が必要になります。

別の方法として、CUMP ライブラリを調査することもできます。

別の方法として、xmp ライブラリを調査することもできます。

別の選択肢は、キャンプ図書館を調査することかもしれません

于 2013-10-16T03:22:44.493 に答える