HPC Pack は、タスクの入力、出力、およびエラー ファイルの編成に関して柔軟です。 作業ディレクトリ、標準入力、標準出力、標準エラー タスクのプロパティを使用して、任意の共有場所へのローカルまたは汎用名前付け規則 (UNC) ファイル パスを指定できます。 タスクは、既定の作業ディレクトリに格納されているファイルでも操作できます。 どちらの場合も、共有フォルダー (できればファイル サーバー上) で中央のファイル ストアを使用することをお勧めします。
タスクに 標準出力 ファイルと 標準エラー ファイルを指定しない場合、結果は hpcsheduler データベースに送られ、[ ジョブの表示 ] ダイアログ ボックスにタスクの出力フィールドとして表示されます。 データベースには、タスクごとに最大 4 KB のデータが格納されます。 4 KB を超える追加データは切り捨てられます。 標準出力ファイルと標準エラー ファイルを指定すると、タスク出力はそれらの場所に送られます。
注
ファイル パスを指定するときは、これらのファイルにコンピューティング ノードからアクセスすることに注意してください。 たとえば、"C:\Temp" は、ヘッド ノードまたはクライアント コンピューター上の Temp ディレクトリではなく、アプリケーションを実行しているコンピューティング ノード上の Temp ディレクトリを参照します。
プログラム ファイル
タスクのコマンド ラインでプログラム ファイルを指定する場合は、次のガイドラインに従います。
アプリケーションがすべてのコンピューティング ノードに存在し、
Path
環境変数に追加されている場合は、実行可能ファイル名のみを入力します。 たとえば、「myapp.exe」と入力 します 。アプリケーションがすべてのコンピューティング ノードに存在し、
Path
環境変数に追加されていない場合は、各コンピューティング ノード上のアプリケーションへの完全なローカル パスを入力します。 たとえば、 C:\Program Files\myapp.exeします。アプリケーションがファイル共有にインストールされている場合は、実行可能ファイルへの UNC パスを指定します。 たとえば、「 \\server_name\Program Files\myapp.exe」と入力します。
データ ファイル
既定では、標準の入力ファイル、出力ファイル、およびエラー ファイルは、アプリケーションを実行しているコンピューティング ノードの作業ディレクトリに対して相対的です。
作業ディレクトリ タスク プロパティの既定値は、ノード (通常は C:\Users\user_name\Documents を指す%userprofile%
) 上の送信ユーザーのホーム ディレクトリです。
作業ディレクトリ タスク プロパティを使用すると、共有フォルダー上のデータ ファイルへのタスク アクセスを簡略化できます。 たとえば、\\fileserver\fileshare\ の作業ディレクトリと somefile.txtの標準入力を設定した場合、標準入力は \\fileserver\fileshare\somefile.txtから読み取られます。
タスクに 標準出力 ファイルと 標準エラー ファイルを指定しない場合、結果はジョブ スケジューラ サービス データベースに送られ、[ タスクのプロパティ ] ダイアログ ボックスにタスクの出力フィールドとして表示されます。 データベースには、タスクごとに最大 4 KB のデータが格納されます。 4 KB を超える追加データは切り捨てられます。 標準出力ファイルと標準エラー ファイルを指定した場合、タスクの出力はそれらの場所に送られ、ジョブ スケジューラ サービス データベースには格納されません。
サブタスクとアスタリスク (*) を含むタスク
サブタスクを含むタスクでは、パラメトリック スイープ インデックス ( パラメトリック スイープ タスクの場合) またはサブタスク ID ( サービス、 ノード準備、 ノード 解放 タスク) のプレースホルダーとしてアスタリスク (*) 文字を使用できます。 たとえば、最初のサブタスクでは、 \\datashare\userName\file*.txt
は \\datashare\userName\file1.txt
として解釈されます (または 、パラメトリック スイープ タスクでは、最初のインデックス値として解釈されます)。
複数のアスタリスク (*) を含めると、インデックスまたはサブタスクの数を表すときに使用する位置の最小数を示すことができます。 これにより、より多くのポジションを必要とする数値は制限されません。 たとえば、 \\datashare\userName\file****.txt
は最初のサブタスクで \\datashare\userName\file0001.txt
として解釈されます。
ジョブ スケジューラは、コマンドを計算ノードに送信する前に解釈します。 アスタリスク (*) を使用するコマンドを実行するには、キャレット (^) をエスケープ文字として含めます。 たとえば、フォルダーからすべてのファイルを削除する ノード リリース タスクを作成するには、次のようにコマンドを入力します。
delete c:\temp\^*
注
コマンド プロンプト ウィンドウから送信されたコマンドは、ジョブ スケジューラに渡される前に解釈されます。 コマンド プロンプト ウィンドウで、同じコマンドを実行するタスクを送信するには、余分なエスケープ文字を追加する必要があります。 例: delete c:\temp\^^*
ジョブ スケジューラはコマンドを delete c:\temp\^*
として受け取り、コンピューティング ノードはコマンドを次のように受け取ります。 delete c:\temp\*
その他の考慮事項
ネットワーク共有にアクセスする場合は、ドライバー文字マッピングを使用する代わりに完全な UNC パスを使用します。これは、異なるログオン セッション間でマッピングが保持されないためです。
入力、出力、およびエラー ファイル用のファイル ストアの作成は、通常、クラスター管理者とユーザーの間で調整された作業であり、共有リソースに対する管理者のアクセス許可と監視、および関連するプロジェクト、ジョブ、ファイルに関するユーザー固有の知識が必要です。