問題タブ [nvcc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gcc - Linux用のnvccで使用されるデフォルトのホストコンパイラ
Ubuntu10.10でGTX570(compute capcability 2.0)を使用し、GCCコンパイラスイートでCUDA4.0を使用しています。私が理解しているように、コンパイル中にCUDAコンパイラドライバーnvccは.cu
ファイルをホストコードとデバイスコードに分割し、ホストコンパイラを呼び出してホストコードをコンパイルし、デバイスコードを個別にコンパイルします。最後に、生成されたホストオブジェクトコードとデバイスのPTXコードを単一の実行可能ファイルにマージします。
Linuxシステムの場合、ホストコードをコンパイルするために呼び出されるデフォルトのコンパイラは何ですか?GCCスイートのCコンパイラ(gcc
)またはC ++コンパイラ( )ですか?g++
linux - CUDA リンカ エラー: メインへの未定義の参照
Linux で CUDA プログラムをコンパイルしようとすると、次のリンカ エラーが発生します。
これは私の Makefile です:
main
関数は main.cu ファイルにありますが、何らかの理由でリンカがそれを認識していません。誰が私が間違っているのか教えてください。
ありがとう!
c++ - コンパイル エラー nvcc および BOOST ライブラリ
nvccスロー
has_constraints.hpp にはすでに疑わしいコードが含まれています。
質問: これは nvcc ブーストの非互換性ですか、それともコードに問題がある可能性がありますか?
cuda - CUDAとnvcc:プリプロセッサを使用してfloatまたはdoubleのいずれかを選択
問題:
.hがあるので、c / c ++またはコンピューティング機能が1.3以上のcudaでコンパイルする場合は、realをdoubleと定義したいと思います。コンピューティング機能が1.3未満のcuda用にコンパイルする場合は、realをfloatとして定義します。
何時間も経って、私はこれに到達しました(これは機能しません)
コンパイルするとき(-archフラグに注意してください)
私は得る
私はファイルがnvccによって2回コンパイルされることを知っています。最初のものはOKです(CUDACCが定義され、CUDA_ARCH > = 130)が、2回目はどうなりますか? CUDA_DEFINEDですが、CUDA_ARCHが定義されていないか、値が130未満ですか?なんで ?
御時間ありがとうございます。
visual-studio-2010 - Windows SDK 7.1 から Visual C++ Express 2010 x64 を使用するように nvcc をセットアップするにはどうすればよいですか?
Windows SDK 7.1 で拡張された Visual C++ Express 2010 を使用して 64 ビット アプリを構築しています (64 ビット コンパイラを追加するため)。32 ビット モードで nvcc を使用すると、うまく動作します。64 ビット モードで使用すると、次のエラーが発生します。
nvcc に正しいファイルを提供するにはどうすればよいですか?
linker - cudanvccで作成されたオブジェクトファイルへのリンクの問題
NVCCによって生成されたオブジェクトファイルにリンクしようとしています。ここに非常に単純な「ライブラリ」があります。
そして、「ライブラリ」を使用するファイル:
この単純なセットアップでは、ファイル内で関数を直接宣言することにより、インクルードファイルの必要性を回避していることに注意してください。ここで私がこれを構築しようとしたコマンド:
これがNVCCで機能しないのはなぜですか?2番目のコマンドは、大量の次のものを生成します。
別のCUDAインストール(4.0)を使用して別のマシンで試してみました。同じ奇妙なコンパイラ/リンカの出力。
extern "C"
また、C++の名前マングリングの代わりに使用してみました。同じ動作。さらに、C名のマングリングは、実際のアプリケーションではオプションではありません。
macos - nvcc不明なオプション-no_pie
私のmac(Snow Leopard)でCUDAを更新した後、これをコンパイルすると、nvidiaのnvccコンパイラが奇妙に動作します。
次のコンパイルエラーが発生しますが、問題を解決する方法がわかりません。
誰かが問題が何であるか知っていますか?
c - Cuda混合Cプロジェクトのリンク
私はCで大規模なプロジェクトを持っており、それにいくつかのCudaカーネルを統合しようとしています。cファイルを「gcc-cmain.c」でコンパイルし、.cuファイルを「nvcc-c cuda_GMRES.cu」でコンパイルしてから、2つのオブジェクトファイルをnvcc:「nvcc-omain」でリンクしようとしています。 o cuda_GMRES.o "とすると、次のエラーが発生します。
/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crt1.o:関数
_start':
(.text+0x20): undefined reference to
main'collect2:ldが1つの終了ステータスを返しました
cudaとCファイルを組み合わせるのは初めてで、何か間違ったことをした可能性があります。誰か助けてくれませんか。RocksOSを搭載したGPUクラスターを使用しています。
私のmain.cファイル:
私のcuda_wrapper.hファイル:
カーネル呼び出し関数を含む私のcuda_GMRES.cuファイル:
カーネルを含む私のcuda_dot.cuファイル:
cuda - CUDA モジュールを使用した GPL C プログラムのビルド
C で書かれた GPL プログラムを変更しようとしています。私の目標は、1 つのメソッドを CUDA 実装に置き換えることです。つまり、gcc ではなく nvcc でコンパイルする必要があります。私はプロジェクトを構築するのに助けが必要です-それを実装するのではありません(助けるためにCUDA Cについて何も知る必要はありません、私は思いません)。
.configure と Makefile を含む中程度の複雑さの C プロジェクトを変更しようとするのはこれが初めてです。正直なところ、gcc や g++ を含むものを含め、C で何かをするのは久しぶりなので、かなり迷っています。
configure と Makefile の学習にはあまり興味がありません。これは実験的なものです。適切なビルド スクリプトの作成に時間を費やす前に、プロジェクトの実装がうまくいくかどうかを確認したいと思います。(必要に応じて学ぶことを嫌がるのではなく、範囲のアイデアを提供しようとしているだけです)。
そうは言っても、このプロジェクトを構築するためのオプションは何ですか? 無数の質問があります...
AC_PROG_CC の後に configure.in ファイルに「CC=nvcc」を追加してみました。これは機能しているように見えました-configureとmakeの実行からの出力は、コンパイラとしてnvccを示しました。ただし、make は、CUDA 固有の構文を認識せず、CUDA カーネルでソース ファイルをコンパイルできませんでした。理由はわかりませんが、これがうまくいくことを望んでいました。
ソース ファイルを nvcc でコンパイルし、それをメイン プログラムの make プロセスのリンク ステップに含めることはできますか? もしそうなら、どのように?(この質問は意味をなさないかもしれません - 私はこれで本当に錆びています)
これを行う正しい方法は何ですか?
テスト目的で使用できる迅速で汚い方法はありますか?
これらのconfigureとMakefileをセットアップして理解するために誰もが使用する秘密のツールはありますか? これは、私が慣れ親しんでいる Apache Ant スクリプトよりもさらに悪いです (ええ、私は自分の領域から外れています)。
cuda - CUDAコードをコンパイルしてC++プロジェクトにリンクするにはどうすればよいですか?
CUDAを含むプロジェクトを始めるための助けを探しています。私の目標は、ネイティブのg ++コンパイラでコンパイルできるが、CUDAコードを使用するプロジェクトを作成することです。CUDAコードをnvccコンパイラでコンパイルする必要があることは理解していますが、私の理解から、CUDAコードをcubinファイルまたはptxファイルにコンパイルすることができます。
これが私の質問です:
- nvccを使用してcubinファイルまたはptxファイルにコンパイルするにはどうすればよいですか?-cか何かは必要ありませんか?
- どのファイルタイプを使用しますか?
- プロジェクトを正しくコンパイルしてリンクするためのg++コマンドとは何ですか?
次のように想定します。
- main関数が含まれ、cuda.hを含む「main.cpp」というファイルがあります。
- CUDAコードを含む「cudaFunc.cu」という別のファイルがあります。たとえば、main.cppに存在する2つの整数配列を追加したいとします。