2017-07-05 4 views
0

Matlabで非線形偏微分方程式を解いています。私のコードはfft2とifft2のコマンドを何度も呼び出します。だから私は計算のスピードを上げるためにクラスタのGPUを使いたいと思っています。私はgpuArrayを使用してgpuのための自分のコードを準備し、収集します。しかし、私はクラスターを使用することでかなり素朴ですし、私が知っている唯一のことは、パテを使用してssh端末を使用する必要があり、Matlabがクラスターにインストールされておらず、コードを最初にコンパイルする必要があることです。 第1回Matlabコードのコンパイル方法を教えてください 第2回、このリモートクラスタでこのコードを実行する方法は?コマンドは何ですか?あなたの助けリモートクラスタでmatlab mfileを実行する

答えて

0

まず事前に

多くのおかげで、あなたはgather(fft2(gpuArray(x)))fft2(x)を変更する必要がGPUを利用するためです。同様に、ifft2(x)gather(ifft2(gpuArray(x)))となります。

クラスタを並列計算のためのワーカーとして使用することを前提としていない場合、matlab -r 'myfunction'という形式のコマンドを使用して、Linux端末からMATLABコマンドを実行できます。 myfunction.mは、現在の作業ディレクトリまたはMATLABのデフォルトパスに存在する必要があります。

GPUを使用するようにスクリプトを変更したら、sshをクラスタに追加して、スクリプトを含むディレクトリに移動し、matlab -rコマンドを実行します。

+0

Jodag お返事ありがとうございます。私は、MATLABがクラスタにインストールされていないことを知りました。私は上記の質問を編集しました。アイデアはありますか?クラスタにmyfunction.mが存在しています(ファイルをコピーするためにfilezillaを使用しました)。私のコードは並列計算を使用していません。 –

+0

クラスタにMATLABがインストールされていない場合、MATLABをクラスタ上で実行することはできません。 – jodag

関連する問題