IDE内でoptirun(bumblebee)を呼び出して、EclipseまたはNetBeansでオプティマスラップトップでグラフィックカードを使用する方法を知っている人はいますか?IDEの実行ボタンを使用して、IDE内のグラフィックカードでプログラムを実行できます。
最も単純な形式では、IDEに同等のことをさせたいだけですoptirun ./javaproject
IDE内でoptirun(bumblebee)を呼び出して、EclipseまたはNetBeansでオプティマスラップトップでグラフィックカードを使用する方法を知っている人はいますか?IDEの実行ボタンを使用して、IDE内のグラフィックカードでプログラムを実行できます。
最も単純な形式では、IDEに同等のことをさせたいだけですoptirun ./javaproject
私が Eclipse でこれを行った方法は、最初に Java デバッガーjdwpを起動し、ポートをリッスンすることでした。次に、JVM を起動し、optirun java ...
jdwp を使用してこのポートに接続します。デバッグ構成設定 (実行 -> デバッグ構成)で起動グループを作成することにより、Eclipse で両方のタスクを同時に開始できます。詳細に:
次に、 optirunで JVM を開始する必要があります。これは、外部ツール構成(実行 -> 外部ツール -> 外部ツール構成) で行うことができます。[外部ツールの構成] ウィンドウの左側で、新しいプログラム構成を作成します。optirun java <additional arguments>
必要なフィールドに入力することから直接開始できます。ただし、さまざまなプロジェクトで再利用可能なシェル スクリプトを使用することにしました (以下に示すように、完全に再利用できるようにするために 1 つの部分が欠けています。経験豊富な Eclipse ユーザーからの助けをお待ちしております...) . したがって、Locationフィールドはこのシェル スクリプトを指します。スクリプト自体は 3 つの引数を受け入れます:クラスパスプロジェクト、Java 実行可能ファイルの名前、およびポート番号。これらの引数は、[メイン] タブの [引数]フィールドでスクリプトに渡すことができます。
optirun が PATH にあると仮定すると、シェル スクリプトは次のようになります。
#!/bin/sh
CLASS_PATH=${1}
JAVA_EXECUTABLE=${2}
PORT=${3}
# TODO: fix this java library path: pass it as an argument as well. Is there an Eclipse variable which stores this?
JAVA_LIBRARY_PATH=/usr/local/share/OpenCV/java
#------------------------------------------------------------------------------
optirun ${JAVA_BIN} -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:${PORT} -Djava.library.path=${JAVA_LIBRARY_PATH} -Dfile.encoding=UTF-8 -classpath ${CLASS_PATH} ${JAVA_EXECUTABLE}
#------------------------------------------------------------------------------
${project_classpath:${selected_resource_name}}
このソリューションは私にとって完璧に機能します。CUDA 最適化を含むネイティブ コードを呼び出す Java コードを Eclipse 内でデバッグでき、Bumblebee は必要な場合にのみディスクリート グラフィックス カードをアクティブにします。
optirun を使用して IDE を起動するだけです。たとえば、optirun eclipse
またはoptirun netbeans
Netbeans ( ) でプロジェクトをビルドF11し、ターミナルで以下を実行します。
optirun java -jar path/to/javaproject/dist/javaproject.jar
プロジェクトに Java パラメータがある場合は、手動で追加する必要があることに注意してください。私のワークフローは次のようになります。
プロジェクトから Java オプションを見つけ、Project -> Properties、Runを開きます。VM Optionsに が表示されます-Djava.library.path=lwjgl/native/windows;:lwjgl/native/linux
。に渡したいパラメータもいくつかありますmain(String[])
。この情報を使用して、ターミナルを開いて実行します。
cd path/to/javaproject
optirun java -Djava.library.path=lwjgl/native/windows;:lwjgl/native/linux \
-jar dist/javaproject.jar some paremeters
別のヒントとして、プログラムを頻繁に開いたり閉じたりする必要がある場合はoptirun bash
、別のタブで実行すると、グラフィック カードの使用準備が速くなります。または、 を実行することもできますがoptirun netbeans
、これは、プログラミングを行っている場合でも、nvidia カードが常にオンになることを意味し、電力使用量が増加し、熱が増加します。
重要: 64 ビット マシンで 32 ビット JVM または Java ライブラリを使用している場合は、32 ビット ドライバとライブラリもインストールする必要があります。Ubuntu の場合、nvidia パッケージには既に 32 ビット ドライバーが含まれています。この回答を参照してください。lib32-*
他のディストリビューションの場合、Mesa、VirtualGL、および nvidia-utils のパッケージをインストールする必要があります。