Rescale Software Publisher (ベータ版) を使用して独自のソフトウェアを持ち込む – 入門ガイド

概要

Rescale は、Rescale Software Publisher をベータ リリースで提供できることを嬉しく思います。 お客様がこの新しい機能を試してフィードバックを提供していただくことを歓迎します。 ご興味がございましたら、詳細について Rescale アカウント チームにお問い合わせください。

Rescale Software Publisher は、組織が独自のソフトウェアを Rescale クラウド プラットフォームに導入できるようにする新しい製品機能です。 これにより、お客様には次のようなメリットが得られます。

  • Rescale のソフトウェア カタログへのオンデマンド公開 - 他のチームがリクエストを処理するのを待たずに高速に公開
  • カスタム、プロプライエタリ、商用、オープンソース、開発した個人ユーティリティなど、さまざまなソフトウェアを Rescale で使用できるようになりました。
  • 使いやすく、高度な IT スキル、コーディング、またはインフラストラクチャへの特別なクラウド管理者アクセスは必要ありません。
  • すべての一元的な可視性、アクセス、管理 (HPC) ソフトウェア アプリケーションとパッケージ

Rescale Software Publisher では、次の新機能が強調表示されます。

  • サンドボックスは、Publisher によって導入された新しい概念であり、公開前にソフトウェアをインストールしてテストするための一時的な作業環境です。
  • コマンド ライン インターフェイスは既存の機能を拡張します。 rescale-cli、新しい 'spub' パブリッシュ コマンドを実行するオプション。   
  • ソフトウェアを公開するときの新しい表示設定もあります。これについては、このドキュメントで後述します。 基本的に、公開したソフトウェアを他の人と共有する準備ができたら、次の場所で共有できます。 レベル、またはすべてのワークスペースに表示される組織レベルで。

以下の図は、公開プロセスの概要を示しています。

Rescale Software Publisher の現在のベータ版には、既知の制限と不足している機能があります。 これらについては、このドキュメントの最後で概要を説明します。

前提条件:

  • ログインするユーザーには、ワークスペース レベルまたは組織レベルの管理者ロール権限が必要です。
    • 組織管理者は、組織内の任意のワークスペース内で公開および公開設定を行うことができます
    • ワークスペース管理者は、自分が管理するワークスペースのみを公開および公開設定できます。
  • あなたの会社/組織が Rescale Software Publisher にアクセスできるようにするには、Rescale の担当者が必要です。 これは、新しいベータ顧客ユーザーのオンボーディング プロセスの一部です。 詳細については、Rescale チームにお問い合わせください。
  • 現在ベータ版では、Linux OS 上で実行できるソフトウェアのみを公開できます。 Windows OS は自己公開にはサポートされていません。

UI アクセス:

管理者ユーザーとして管理ポータルにアクセスすると、上部に「ツール」メニューが表示されます。 その下で「ソフトウェア発行者」を選択します。

管理ポータルにこの新しい [ツール] メニューが表示されない場合は、Rescale ユーザー アカウントに必要な権限が設定されていない可能性があります。

ローカルで公開されているソフトウェアのリストが表示されます。 あるいは空の場合もあります。 現在、初期リリース バージョンには列を検索または並べ替えるオプションがありません。 長いリストからソフトウェアを見つけるには、ページ上のブラウザの検索/検索オプションを使用します。

新しいソフトウェア タイル

新しいソフトウェアを公開するには、リスト表の上にある「+ ソフトウェアを追加」ボタンを選択します。 また、バージョンを作成する前に、最初にソフトウェア タイルまたは分析を作成する必要があります。 CLI は例外です (以下の CLI セクションを参照)。 そのソフトウェアのバージョン名がまだ存在していない限り、任意のバージョン方法を選択できます。 (例 - 「1.0」、「2a」、「バージョン 1」、「20」など)

構成セクションで、カタログに追加する新しいソフトウェアの名前と説明のフィールドに入力します。 バッチを選択するか、 公開するソフトウェアの用途 (公開されたソフトウェアの使用目的がジョブまたは対話型ワークステーション経由である場合)。 サムネイル画像の提供はオプションです。サイズは 100K 未満である必要があります。

以下は、初期ソフトウェア タイルを作成した後、バージョンを公開する前の UI の例です。

新しいソフトウェアバージョン

ソフトウェア タイルを追加したら、1 つ以上のバージョンを公開できます。作成したソフトウェア タイルをリストから選択し、「バージョン」アイコンをクリックします。 「+ ソフトウェアバージョンを追加」を選択します。新しいウィンドウが表示され、左側に「バージョン プロパティ」、「サンドボックス セットアップ」、および「ハードウェア設定」の 3 つの選択オプションが表示されます。 [バージョン プロパティ] ページから始めて、必須フィールドに入力します。オプションで、公開ソフトウェアがジョブの一部として実行するときに参照できる環境変数を指定できます。

次に、「サンドボックスのセットアップ」ページに移動します。このページからソフトウェアをアップロードし、オペレーティング システムを指定し、ソフトウェアに MPI 依存関係があるかどうかを指定できます。プロジェクト フィールドはオプションであり、パブリッシュ元の現在のワークスペースがプロジェクトの選択を必要とするように構成されている場合にのみ必須です。サンドボックスのサイズについては、ソフトウェアのインストールとテストに十分な大きさでありながら、未使用のスペースを無駄にしない程度のサイズを選択するようにしてください。

このページには、バージョンのプロパティ ページのコマンドとは異なるオプションのコマンド フィールドがあります。 これは、ソフトウェアのアップロード後にスクリプトを実行してインストールを自動化することを目的としています。 このコマンド フィールドを空のままにすると、公開前にサンドボックスに対話的にアクセスして、必要なコマンドや構成を実行できます。

現在、サンドボックス環境の作成では Linux OS ディストリビューションのみがサポートされています。

次に、「ハードウェア設定」ページに移動します。ここではさまざまなプロセッサーから選択できます 使用可能なタイプを確認し、サンドボックスで実行するコアの数も設定します。

創造する

すべてのページでサンドボックス情報の入力が完了したら、「作成」ボタンをクリックします。新しいサンドボックスを作成する前に、任意のページを確認するオプションがあります。新しい「ステータス」ウィンドウが表示されます。左側で選択すると、サンドボックスの作成の進行状況を監視できます。

アクティブ

サンドボックスのセットアップが完了すると、新しい SSH セクションが表示され、上部に新しい「接続」ボタンも表示されます。サンドボックスの作成後にサンドボックスに直接接続するには、さまざまな方法があります。

  • 「接続」ボタンを選択して DCV デスクトップ エミュレーションを実行する
  • 「アクション」セクションの下をクリックしてブラウザ内 SSH 接続
  • ローカル ワークステーションからの SSH 接続。これはより高度なオプションであり、製品ドキュメントの「」で説明されています。ローカル ワークステーションからの SSH"

この例では、「接続」ボタンを選択して続行します。仮想デスクトップ環境は、その下に Rescale Workstation を使用しています。シェル/CLI オプションのターミナル ウィンドウにアクセスするには、下部にあるターミナル エミュレータ ボタンを選択します。

新しいサンドボックスの作成時にソフトウェアをアップロードすることを選択した場合、ソフトウェアは指定されたマウント ベースまたはマウント ポイント パスの場所に配置される必要があります。 ファイルをアップロードするときに、TAR ファイルを自動的に解凍して抽出することを選択するオプションが UI にあります。

この対話型モードでは、サンドボックスにログインし、SSH またはターミナル セッション経由でコマンドを実行できます。

あなたは走れる git() サンドボックスから直接ソフトウェアやその他のマテリアル (テスト データなど) を取得します。 HPC ソフトウェア パッケージ (SU2) のチュートリアル データを取得する例を次に示します。

ソフトウェアを Rescale サンドボックス環境に移動または転送するための他のオプションもあります。 sftp().

公開前にソフトウェアをテストすることを強くお勧めします。 インタラクティブな例を次に示します サンプルテストを開始します:

パブリッシュ

公開する準備ができたら、公開する前に必要なソフトウェア ファイルをすべてマウント ポイント ベースにコピーまたは移動し、ソフトウェアの実行に必要のない一時ファイルをクリーンアップまたは削除する必要があります。

UI から、ステータス ページの下部にある [公開] ボタンを選択します。ページ上部のステータス値が「公開中」に変わり、その後「完了」に遷移するのがわかります。

注意: このソフトウェア バージョンを使用できるようにするために舞台裏でいくつかの手順が実行されるため、この手順には数分かかる場合があります。

ソフトウェア バージョンの公開アクションが完了すると、バージョン ステータスが「完了」に更新されます。

透明性

公開バージョンを表示する場合は、「可視性」列もあります。 ソフトウェアが最初に公開された後の各段階でソフトウェアを宣伝するために、管理者が設定できる複数の可視性設定があります。 それらは次のとおりです。

可視性設定/段階説明
ドラフト新しいバージョンの公開セッションを開始する初期状態。 サンドボックスはこの公開状態に存在します。 物理スナップショットはまだ存在せず、ソフトウェアは組織の Rescale カタログに表示されません。
管理者プライベート物理スナップショットは、公開のこの段階で最初に作成されます。 サンドボックスは削除されます。 ソフトウェアは管理者のみがカタログから表示およびアクセスできます。
プライベートワークスペースこれは、公開されたソフトウェア バージョンを他のユーザーと共有するための XNUMX つのオプションです。 公開されたソフトウェアの可視性を Workspace Private に昇格すると、選択した名前付きワークスペースでそのソフトウェアを使用できるようになります。 組織管理者権限を持っているか、共有するワークスペースのワークスペース管理者である必要があります。
組織 非公開これは、公開されたソフトウェア バージョンを他の人と共有するためのもう XNUMX つのオプションです。 公開されたソフトウェアの可視性を組織のプライベートに昇格すると、ソフトウェアが組織内のすべてのワークスペースのすべてのメンバーに表示されるようになります。

UI から、公開ソフトウェアの公開設定を初期状態から設定する方法を次に示します。デフォルトでは常に「Admin Private」で始まります。 バージョン -> ステータス ページで:

管理者プライベート

ソフトウェアが初期状態に公開されると、Admin Private、管理者であるあなた、および公開されたワークスペースで適切なアクセス権を持つ他の管理者は、ジョブの作成時に Rescale ソフトウェア カタログからこの新しいソフトウェア タイルまたはバージョンにアクセスして使用できます。 この段階での公開権限は管理者のみに限定されています。

新しく公開されたタイルの詳細:

このソフトウェア バージョンが正常に動作することをテストして検証したら、組織内の他のユーザーと共有できるようになります。

REMINDER: 公開されたソフトウェアを他の人が利用できるようにする前に、必ずテストと検証を行ってください。

新しく公開されたバージョンを他のユーザーと共有する場合、XNUMX つの公開オプションがあります。

  • バージョンの可視性を特定のワークスペースに公開します (ワークスペースはプライベート)
  • 組織内のすべてのワークスペースにわたる可視性を公開します (組織のプライベート)

プライベートワークスペース

「バージョン」ページから、公開したばかりのバージョン番号を選択します。 ページ上部の「完了」ステータスの横でメニューを選択し、「ワークスペース プライベート」を選択して、公開されているソフトウェア バージョンをワークスペースの名前付きリストに表示できるようにします。 左側で、「許可されたワークスペース」を選択し、このソフトウェア バージョンを共有するワークスペースを選択します。

管理者としてアクセスできるワークスペースのみを選択できます。

組織 非公開

公開されたソフトウェア バージョンの可視性を「組織のプライベート」に変更する場合は、前述したのと同様の手順に従います。 このオプションを UI で選択できるようにするには、組織管理者の役割を持っている必要があることに注意してください。 ユーザーにワークスペースへの管理者アクセス権が付与されているだけの場合、公開ソフトウェアの可視性を組織の非公開に設定することはできません。

コマンドラインインターフェイス

パブリッシャーには、新しい引数/オプション「spub」を介して Rescale CLI からアクセスできます。 まず、最新の CLI パッケージをユーザーとしてダウンロードし、ローカル マシンにインストールする必要があります。

製品 UI 内で、右上のアカウント ログイン メニューから [ユーザー プロファイル設定] を選択します。 次に、左側のレールで「API」を選択します。 API キーをまだ生成していない場合は、「+ API キーの追加」を選択して生成してください。 CLI を使用して公開する場合は、このキー値を指定する必要があります。

同じページの CLI セクションで、「ベータ リリース」タブをクリックし、CLI を実行する予定のプラットフォームを選択します。

CLI インストール - Mac

UI から CLI ファイルをダウンロードすると、Mac OSX 用の *.dmg ファイルとしてパッケージ化されます。 そのファイルを開いてインストールプロセスを開始します。 提供される指示に従ってください。

Rescale CLI は、デフォルトでは、バイナリ「rescale-cli」として /applications/Rescale CLI にインストールされます。 このディレクトリを PATH に追加することも、インストールされたディレクトリの場所内で rescale-cli を実行することもできます。

TIP: Rescale API キーの値とソフトウェア タイル名をコピーし、CLI で使用できる便利な場所に貼り付けます。

CLI インストール - Windows

UI から CLI ファイルをダウンロードすると、Windows x64 用の *.exe ファイルとしてパッケージ化されます。 x86。 そのファイルを開いてインストール プロセスを開始します。 提供される指示に従ってください。

Rescale CLI は、デフォルトでは C:\Users\[username]\AppData\Local\rescale-cli にバイナリ「rescale-cli.exe」としてインストールされます。 コマンド プロンプトまたは Windows Powershell からコマンドを実行します。

CLIの使用法

Rescale CLI では、異なるクライアント プラットフォーム間で構文の使用方法に違いはありません。

Rescale CLI を使用する場合の開始時のヒント:

  • 各パブリッシャー コマンドは次の構文で始まります。「rescale-cli -X」 https://yourplatform.rescale.com スパブ…」。 組織がホストされている Rescale プラットフォームに応じて URL を調整します。
  • 各コマンドラインの実行には、Rescale API キーを含める必要があります。通常はコマンドの最後の部分を「-p」という形式で指定します。ReallyLongHexaDecimalValue>」。
  • ソフトウェア タイルまたはバージョンを操作するには、spub に「tile」引数を使用します。 spub が使用する「バージョン」オプションはありません。
  • spub サブコマンドとそのオプションはどちらも、「-h」または「-help」によるヘルプ オプションをサポートしています。

以下は、サブコマンドとオプションをカテゴリ (オブジェクトまたは「名詞」、アクションまたは「動詞」) に分けて示した要約表です。 logs オプションは動詞として完全に適合しません。

ルートコマンド:最上位のサブコマンド:オブジェクトレベルの引数/オプション/パラメータ(名詞)アクションレベルの引数/オプション/パラメータ(動詞)
再スケール-cliスパブタイル作ります
サンドボックスパブリッシュ
助けますリスト
接続する
ログ
ファイルをアップロードする
サスペンド | 再開する
完成した
削除 (後で来ます!)

spub のコマンド ライン インターフェイスには、状況に応じたヘルプ情報が含まれています。 たとえば、「タイル」に関する一般的なレベルのヘルプ コンテンツを表示したり、「タイル作成」など、タイルがサポートする特定の引数に関するより詳細なヘルプ コンテンツを表示したりできます。

以下は、サポートされている XNUMX つの主要なオブジェクト オプション (タイルとサンドボックス) のヘルプのサンプル出力です。

% ./rescale-cli -X https://platform-stage.rescale.com spub -h 使用法: クライアント アプリを再スケールする spub [-h] {tile,sandbox} ... 位置引数: {tile,sandbox} 名前付き引数: -h, --help このヘルプ メッセージを表示して終了します。 % ./rescale-cli -X https://platform-stage.rescale.com spub tile -h 使用法: Rescale Client App spub tile [-h] {create, public} ... 位置引数: {create,publish} 名前付き引数: -h, --help このヘルプ メッセージを表示して終了 % ./rescale-cli -X https://platform-stage.rescale.com spub サンドボックス - h 使用法: クライアント アプリの spub サンドボックスを再スケールする [-h] {connect,list,logs,resume,suspend,terminate,upload-file} ... 位置引数: {connect,list,logs,resume,suspend,terminate,upload- file} 名前付き引数: -h、--help このヘルプ メッセージを表示して終了します %

アクションまたは動詞であるコマンド ライン オプションのヘルプ コンテキストもあります。 以下は、タイル オプションで使用される「作成」のヘルプを示す一例です。

% ./rescale-cli -X https://platform-stage.rescale.com spub tile create -h 使用法: Rescale Client App spub tile create [-h] [--visibility {admin-private,workspace-private,organization -private}] [-s 設定ファイル] [--silent-mode] [-f 入力ファイルのパス [入力ファイルのパス ...]] [-fid 入力ファイルの ID [入力ファイル- IDS ...]] [-p API-TOKEN] 名前付き引数: -h, --help このヘルプ メッセージを表示して終了します --visibility {admin-private,workspace-private,organization-private} admin-private|workspace- private|organization-private -s SETTINGS-FILE --silent-mode -f INPUT-FILE-PATHS [INPUT-FILE-PATHS ...] -fid INPUT-FILE-IDS [INPUT-FILE-IDS ...] creds : -p API-TOKEN、--api-token API-TOKEN 認証に使用する Rescale API トークン %

spub CLI を介して既存のソフトウェア タイルまたは新しいソフトウェア タイルの新しいソフトウェア バージョンを作成する場合、一連のプロンプトに回答するように求められます。

  • ソフトウェアコード
  • ソフトウェア名
  • ソフトウェアの説明
  • ソフトウェアのバージョン名
  • ソフトウェアのバージョンコード
  • ソフトウェアマウントベース
  • ソフトウェアコマンド
  • 追加する環境変数の数
  • サンドボックスコア数
  • サンドボックス OS ファミリ
  • サンドボックスディストリビューション
  • MPIタイプ
  • インストールコマンド
  • インストールボリュームのサイズ (GB)
  • インストールのマウントポイント

これらは UI で表示されるオプションよりも多くのオプションがあります。 これらの CLI 作成プロンプトに関する注意事項は次のとおりです。

  • ソフトウェアコードおよびソフトウェアバージョンコードは、製品内部で使用される値です。 パブリッシャーはそれらの値を取得して一意にします。 将来的には、これらを CLI から削除する可能性があります。 現時点では、次のフィールドのペアに同じ値を指定できます。
    • ソフトウェアコード = ソフトウェア名
    • ソフトウェアバージョンコード = ソフトウェアバージョン名
  • インストール マウント ポイントは、ソフトウェア マウント ベースと同じ値を使用できます。 サンドボックス内のソフトウェアをマウント ベースとは異なるディレクトリにインストールする場合にのみ、インストール マウント ポイントに別の値を指定します。 これはソフトウェア バージョンの最終的な公開に使用されるソフトウェア マウント ベースであるため、公開する前にソフトウェアがサンドボックス内のこのマウント ベースの下に配置されていることを確認してください。

spub create コマンドの出力例を次に示します。

you@rescale.com@You Rescale CLI % rescale-cli -X https://platform-stage.rescale.com spub tile create -p 0000f4861c760156b87b94c664f026141dcb3ddf 

2023-04-17 16:45:12,391 - Authenticated as dfierro@rescale.com

ソフトウェア コードを入力してください:

You-spub-tst01-SU2

ソフトウェア名を入力してください:

You-spub-tst01-SU2

ソフトウェアの説明を入力してください:

My software description for this version

ソフトウェアのバージョン名を入力してください:

1.0

ソフトウェアのバージョン コードを入力してください:

1.0

ソフトウェア マウント ベースを入力してください:

/software/spubtst/SU2 

ソフトウェアコマンドを入力してください:

echo test software command

追加する環境変数の数を入力してください:

0

サンドボックスのコア数を入力してください:

4

サンドボックスのウォールタイムを入力してください:

24

サンドボックス OS ファミリを入力してください:

linux

サンドボックス OS ディストリビューションを入力してください:

linux8

サンドボックスの mpi タイプを入力するか、何も指定しない場合は空白のままにしてください。

none

インストールコマンドを入力してください:

echo test installation command

インストールボリュームのサイズをGB単位で入力してください:

5

インストールのマウント ポイントを入力してください:

/software/spubtst/SU2

2023-04-17 16:50:03,017 - Sandbox: Syncing software

2023-04-17 16:50:03,668 - created dev analysis wQVseb

2023-04-17 16:50:04,107 - created dev analysis version iXVkhb

2023-04-17 16:50:04,108 - created dev analysis version iXVkhb env

2023-04-17 16:50:04,130 - Uploading Files

2023-04-17 16:50:04,136 - Uploading: /var/folders/vx/6777877n4p517_ymy_224gwc0000gn/T/rescale-cli-work8858473315941349202/settings.json

2023-04-17 16:50:04,137 - Uploading settings.json:

2023-04-17 16:50:05,290 - ##############################| 848B / 848B         

2023-04-17 16:50:08,285 - Sandbox: Saving Sandbox

2023-04-17 16:50:11,586 - Sandbox Ysnugb: Saved

2023-04-17 16:50:15,455 - Sandbox Ysnugb: Waiting for status INSTALLATION_COMPLETE

2023-04-17 16:51:15,840 - Sandbox Ysnugb: Status - SANDBOX_STARTING

2023-04-17 16:52:16,237 - Sandbox Ysnugb: Status - SANDBOX_STARTING

2023-04-17 16:57:18,232 - Sandbox Ysnugb: Status - INSTALLATION_COMPLETE

2023-04-17 16:57:18,232 - Sandbox creation completed.

Please perform any manual installation steps on the sandbox before running `spub tile publish --sandboxId Ysnugb` to publish the software.

Sandbox connection info can be retrieved with `spub sandbox connect --sandbox-id Ysnugb`.

you@rescale.com@You Rescale CLI %

ソフトウェアの移植性とヘルパー機能

独自のソフトウェアを Rescale プラットフォームに持ち込む場合のベスト プラクティスは、ソフトウェア アプリケーション、パッケージ、またはツールを可能な限り移植可能にすることです。 これは、Rescale プラットフォームが、マネージド コンピューティング クラスター上で実行されるソフトウェアが基盤となるハードウェアおよびオペレーティング システムから切り離されるように設計されているためです。 これにより、お客様は、ハイ パフォーマンス コンピューティング ワークロードを実行するためのコア ハードウェア オプションとターゲット環境を選択する際に、最大限の柔軟性が得られます。 HPC ソフトウェアが基盤となるオペレーティング システムと絡みすぎたり、他のハードコーディングされた依存関係がある場合、時間の経過とともにソフトウェア ソリューションが脆弱になり、OS パッチのような単純な更新では、ソフトウェアを再インストールしてテストする必要が生じる可能性があります。そのような変化が起こるとき。

これが、Rescale サンドボックスの設計上、セキュリティ上の理由から、スーパー ユーザーや管理者権限 (root ユーザー アカウントや sudo アクセスなど) を許可しない理由です。 ただし、そのような昇格されたアクセスを必要とせずに、Rescale が制御するホスト環境内でソフトウェアを正常にインストール、実行、テストできる可能性は依然としてあります。 Rescale は、作成されるすべてのサンドボックスに、ソフトウェアのインストールとテストに役立つ一連のユーティリティを提供し、ソフトウェアの移植性と柔軟性を高めます。 これらのヘルパー関数は、 yum install から python pip まで、通常 root または sudo アクセスを必要とする多くの一般的なインストール コマンドとパッケージに対応します。 以下は、公開されたソフトウェアが移植可能であり、推奨されるベスト プラクティスに従っていることを確認するために使用できる Rescale ヘルパー関数とユーティリティの概要です。

Spub ヘルパー ユーティリティの使用

大まかに言うと、サンドボックス内のオペレーティング システム (OS) イメージは、インストールされたソフトウェアを実行するクラスターを表します。 ただし、プラットフォーム上でソフトウェアを公開および実行するための Rescale 設計では、公開するソフトウェアが基盤となる OS から切り離されていることに注意することが重要です。 公開されたソフトウェアと OS は、XNUMX つのボリュームまたはスナップショットとして一緒に保存されません。 この設計は、Rescale カタログで公開されているソフトウェアの移植性を最大限に高め、公開されているソフトウェアをさまざまなハードウェア プラットフォームおよび環境で実行できるようにすることを目的としています。

HPC ソフトウェア パッケージ、アプリケーション、およびその他のサポート ツールを専用のローカル環境でインストール、構成、実行することに慣れている多くのユーザーは、オペレーティング システム内で root または管理者権限を持ち、任意の場所にファイルを直接追加および変更できます。ソフトウェアを Rescale プラットフォームで使用できるようにする際のアプローチを調整するため。 Rescale プラットフォームでソフトウェアを公開する際の主なパラダイム シフトは、ソフトウェアのマウント ポイントまたはマウント ベースと呼ばれる、指定されたディレクトリ領域内にすべての依存関係が自己完結するようにソフトウェアをパッケージ化する必要があることです。 Rescale カタログで公開されるソフトウェアは移植可能である必要があるため、さまざまなハードウェア コア タイプやさらにはさまざまな CSP にわたるジョブで実行するように選択できます。ベスト プラクティスとして、OS 領域にファイルを直接インストールしたり変更したりしないでください。 。 コンパイラや MPI ライブラリなど、Rescale が自動的に提供する一般的なソフトウェアの依存関係がいくつかあります。これらは、公開されたソフトウェアの移植性を確保するために、マウント ベース ディレクトリ内の一貫した場所で利用可能になります。 さらに、次の Spub ヘルパー ツールも、Rescale プラットフォームでソフトウェアを公開しているユーザーに提供されます。これについては、後で詳しく説明します。

仮想サンドボックスでソフトウェアのアップロード、インストール、構成、検証を行う場合、公開時に VM 全体が保存されません。 代わりに、マウント ベース ボリュームと関連する環境設定のスナップショットがキャプチャされます。 これはインストールの移植性に影響するため、慎重に扱う必要があります。 一般に、必要なバイナリ、スクリプト、ライブラリなどがすべて、ソフトウェアに指定したマウント ベースの下に配置されていることを確認することをお勧めします。

例として、パス「/software/my-great-software” をマウントベースとして使用すると、次のようになります。

  • /software/my-great-software
  • /software/my-great-software/bin
  • /software/my-great-software/scripts
  • /software/my-great-software/lib

移植性の高いインストールを確保し、ユーザーの負担を軽減するために、Rescale は、UI で選択されたマウント ベースにインストールをポイントするように事前設定およびデフォルトで設定されている多数のヘルパー機能を提供します。 これらの関数には接頭辞が付けられます。 spub_* 上の端末から一覧表示して説明することができます。 コマンドで spub_helper_list。 ザ・ spub_help 新しいヘルパーが追加されると、関数には常に最新の命令セットが含まれます。   
これらの Spub ヘルパー関数の場所は、作成されたすべての Publisher サンドボックスのデフォルトの場所にインストールされます。 このディレクトリは /program/sxp-interactive/util と呼ばれる SPUBUTILS このドキュメントの参照用。 コンテンツのディレクトリのリストは次のとおりです。

次のファイルを参照すると、使用可能な spub ヘルパー関数の概要が表示されます。 

> $SPUBUTILS/spub_helper_list | more

ヘルパー関数を対話的に実行する場合、現在のシェルへの PATH の追加や環境変数の設定など、インストーラーによって実行する必要があるアクションが多くの場合あります。 これらは、シェル内のメッセージを通じてユーザーに通知されます。 例えば 

************************************************** ***************

*********************** 重要 **************************

************************************************** ***************

続行する前に、シェルで次のコマンドを実行してください。

    ソース/program/my-great-software/venv/bin/activate

組み込みヘルパーを使用する必要がある場所を強調する使用例がいくつかあります。 

yum: spub_yum_install 

通常、yum、dnf などのサードパーティのパッケージ管理システムを使用する場合、システム レベルでインストールするように設計されています。 これには、クラスターに対する管理者権限と、公開された分析に引き継がれない場所にインストールされたライブラリの両方が必要です。 模倣するラッパー yum install rpm をダウンロードしてマウントベースにインストールする機能が提供されています。 走るというよりも sudo yum install cowsay ヘルパーを使用すると、コマンドは次のようになります spub_yum_install cowsay 

実行後にメッセージが表示される場合があります spub_yum_install シェル内の環境変数をエクスポートします。 表示される指示に従ってください。

パイソン: spub_add_python_venv

一般に、多数の外部パッケージ (numpy、pandas など) を必要とする Python コードを実行する場合は、仮想環境を作成することをお勧めします。 Rescale パブリッシング サンドボックスでこれを実現するには、ユーティリティ spub_add_python_venv 使用すべきです。 これにより、バージョンを選択して Python 仮想環境がセットアップされ、サンドボックスの公開時に pip 経由でインストールされたパッケージが利用可能になることが確認されます。 

注: 常に source コマンドは最後に指定されます。 spub_add_python_venv 完了します:

>source /{YOUR_MOUNT_BASE}/venv/bin/activate

何らかの理由でこのヘルパー関数の実行中に問題が発生した場合は、次のコマンドを実行して元に戻すことができます。 spub_remove_venv そして最初からやり直してください。 このコマンドはサンドボックス内で XNUMX 回だけ実行する必要があります。

Python には次のような既知の制限があります。 spub_add_python_venv は、リポジトリに手動で追加される非標準パッケージのインストールをサポートしません。 このような Python パッケージの回避策は、サンドボックス内のソース コードからビルドすることです。

gccの: spub_update_gcc

のデフォルトバージョン gcc 現在 Publisher サンドボックス マシン イメージに提供されているものはかなり古いものです。 spub ユーティリティ spub_update_gcc を使用して、新しいバージョンにアップグレードします。 現在、この spub ヘルパー関数ではバージョン 7 または 8 のみがサポートされています。 新しいバージョンが必要な場合は、サンドボックス環境内に手動でインストールする必要があります。

: spub_validate

ソフトウェアが正しく構成されていることを確認するために、サンドボックスの実行中に小さなテストケースを実行することをお勧めします。 バイナリが実行され、すべてのライブラリが見つかった場合は、公開する準備が整っているはずです。 決勝戦の準備ができたら spub_validate 環境変数があるかどうかを確認するために提供されています。 PATHs ホーム ディレクトリを参照するものは、将来の Rescale クラスターには引き継がれません。 これらは最終的には無害である可能性がありますが、一方で、スクリプト/ライブラリなどの場所をマウント ベースに移動するなどのアクションによって修正する必要がある場合もあります。 例えば

[uprod_eqrCUc@ip-10-25-10-6 ~]$ spub_validate 

現在の環境設定を抽出して保存する

::: 警告: このサンドボックス内の一時的な $HOME を参照する ENV VAR が定義されています。 

          名前: BAD_VAR

          値: /enc/uprod_eqrCUc/foo

環境を確認した後、このサンドボックスを公開でき、この環境は今後の Rescale ジョブで再作成されます。 spub_validate の実行出力は、指定したソフトウェア インストール ポイントの下のディレクトリ $MOUNT_BASE/rescale に書き込まれます。 XNUMX つのファイルが作成されます。

  • command_history.txt – シェル内で実行されるすべてのコマンドをキャプチャします
  • draft_env.sh – 中間ファイル(セッションが途中で終了した場合は、次回のログイン時に再開されます)
  • rescale_env.sh – このファイルには、段階的に追加または変更された ENV のみが表示されます。 Rescale が生成するデフォルトの ENV は、このファイルには含まれません。

成功した場合の出力例を次に示します。 spub_validate 走る :

この例では、テストおよび検証しているソフトウェア バージョンに新しい環境変数の名前と値を Publisher UI から直接追加する手順が示されています。

その他にも、Rescale クラスター上で最適に実行される方法で構築するように設計されたパッケージ インストーラーであるヘルパー関数が多数あります。 これらは、次の命名規則に従います。 spub_add_<pkg>、例えば。 spub_add_R。 ユーザー入力によって上書きできるデフォルトのバージョンが記載されています。 パッケージの構築に加えて、追加の R ライブラリのインストールなどのアクションが正しく保存され、公開された分析で使用できるようにする方法についても説明します。 

よくある質問

  • サンドボックスのデフォルト バージョンではない特定のバージョンの Python をインストールする必要がある場合はどうすればよいですか?

使い方 spub_add_python_venv ヘルパー関数を使用すると、サンドボックス環境にインストールする Python のバージョンを指定できます。 これは最初に表示されるプロンプトです。

成功すると、Python バージョンがマウント ベース ディレクトリにインストールされたことを示すメッセージが表示されます。

Installed Python-3.8.16 to /{YOUR_MOUNT_BASE}/pyenv/versions/3.8.16

重要: このファイルをソースするには、このヘルパー関数の実行の最後に表示される指示に従ってください。

>source /{YOUR_MOUNT_BASE}/venv/bin/activate
  • サンドボックス内で直接 root または sudo ユーザー アクセスを必要とせずに Python pip インストールを実行するにはどうすればよいですか?

まず、上記の例に従って、Publisher サンドボックス内に Python 仮想環境を作成する方法を示します。 spub_add_python_venv 。 その後、必ずsource コマンドを実行してください。  source /{YOUR_MOUNT_BASE}/venv/bin/activate  。 これらの手順を完了すると、現在 PATH から参照している Python バイナリとツールが次の場所にあることを確認できます。 /{YOUR_MOUNT_BASE}/venv/bin .

bash-4.2$ source /program/SWBASEDIR/venv/bin/activate
(venv) bash-4.2$ which pip
/program/acecast2/venv/bin/pip
(venv) bash-4.2$ which python
/program/SWBASEDIR/venv/bin/python
(venv) bash-4.2$ 

走ることも忘れずに spub_validate .

これで、次のような pip install コマンドを実行できるようになります。

ピップインストール <pkg-name>

  • 新しいバージョンの gcc を入手するにはどうすればよいですか?

上記のヘルパー ユーティリティを参照してください。 spub_update_gcc

  • を使用して スパブ* ヘルパー関数を使用すると、「デバイスに空き領域がありません」というエラー メッセージが表示されます。 どうすれば回復できますか?

1 GB のサイズでサンドボックスを作成した場合、Python pip install を実行すると、サンドボックスのディスク制限サイズに達する可能性があります。 現時点では、サンドボックスのディスク サイズを動的に増やす方法はありません。 回避策としては、この公開セッションをキャンセルし、より大きなサンドボックス ディスク サイズで新しいソフトウェア バージョンを作成する必要があります。

「」を実行できますdf -H」コマンドを使用して、MOUNT BASE ディレクトリの下の利用可能なスペースを表示します。

高度なユースケース

のMPI – 

目的の分析に MPI が必要な場合は、さらに考慮する必要があります。 ビルド サンドボックスの UI を通じて選択できる、事前構成された MPI フレーバーがいくつかあります。 Rescale は通常、最新バージョンまたはごく最近のバージョンを構成します。 理想的には、これらはほとんどのアプリケーションに適していますが、最新の MPI の多くは下位互換性があることに留意してください。 さらに、さまざまなフレーバー間で ABI 互換性があり、Rescale は、ABI 互換 MPI (MPICH など) でコンパイルされたコードで使用できる Intel MPI を提供します。 MPI はソースから、または Spack などのパッケージ管理システムを通じてインストールできますが、これはお勧めできません。 

サンドボックスの MPI バージョンを選択すると、インストールを可能な限り移植可能に保つために、Rescale が提供する MPI ラッパー スクリプトが追加されます。 コマンド mpirun にはエイリアスが付けられており、将来ソフトウェアが実行されるハードウェアの種類に応じて、必要なライブラリとフラグがデフォルトで追加されます。 この抽象化を適切な場所に保持することをお勧めします。これは、デフォルトとは異なる mpirun を指す PATH が明示的に設定されていない限り行われます。 これは、Rescale HPC によって公開されたソフトウェアと自己公開の分析全体で正規の動作を維持するのにも役立ちます。  

ソースからコードをコンパイルする場合は、適切な MPI の場所への構成を指定する必要がある可能性があります。 MPI のバージョンに関係なく、場所は環境変数 MPI_ROOT に保存されます。 従来の make パラダイムの構成ステップは次のようになります。  

      $./configure --with-mpi=$MPI_ROOT --prefix=/program/my-great-install … 

インテル コンパイラー – 

Rescale は、Intel oneAPI ツールキットをサンドボックス OS の一部として /opt/rescale/oneapi で提供します。 これは、Publisher でソフトウェアの新しいバージョンを公開するときにオプションとして選択できます。サンドボックス バージョンのページで、MPI バージョンとして「Intel MPI 2019」を選択します。 PATH 内でインテル コンパイラー コンポーネントを使用できるようにするには、サンドボックス内で次のファイルを入手する必要があります。

  • source /opt/rescale/oneapi/setvars.sh

あるいは、コンパイラ アーティファクトへの絶対パス名を使用することもできます。