플러그인 예제
처음부터 플러그인을 빌드하는 방법을 보여주는 두 가지 완전한 예제입니다. 먼저 플러그인 가이드를 읽으세요.
예제 1: MPI 솔버 (GUI 없음)
Section titled “예제 1: MPI 솔버 (GUI 없음)”배치 모드로 실행되는 MPI 기반 솔버 — 버전 선택, 파일 선택, 조건부 필드, MPI 머신파일, 환경 변수, 전/후처리 단계.
1단계: 플러그인 생성
Section titled “1단계: 플러그인 생성”관리자 > 플러그인 으로 이동하여 새 플러그인 을 클릭하고, ID my-solver를 입력한 후 생성 을 클릭합니다.
2단계: 기본 정보 탭
Section titled “2단계: 기본 정보 탭”| 필드 | 값 |
|---|---|
| 이름 | My Solver |
| 카테고리 | Simulation |
| 설명 | Run My Solver MPI jobs on the cluster |
| 플러그인 버전 | 1.0.0 |
| 활성화 | 구성이 완료될 때까지 끔 |
3단계: SLURM 탭
Section titled “3단계: SLURM 탭”| 필드 | 값 |
|---|---|
| 노드 | 1 |
| 노드당 작업 | 4 |
| 메모리 | 8G |
| 독점 | 켬 |
4단계: 실행 탭
Section titled “4단계: 실행 탭”머신파일 유형: With Slots (OpenMPI 형식)를 선택합니다.
환경 모듈: openmpi/4.1.1을 추가합니다.
환경 변수: 하나의 항목을 추가합니다:
| 키 | 값 | 활성화 |
|---|---|---|
MY_SOLVER_LICENSE | [email protected] | 켬 |
전처리: 단계를 추가합니다:
| 이름 | 명령 | 활성화 |
|---|---|---|
| 입력을 스크래치에 복사 | cp "$input_file" /scratch/$SLURM_JOB_ID/ | 켬 |
후처리: 단계를 추가합니다:
| 이름 | 명령 | 활성화 |
|---|---|---|
| 결과를 다시 복사 | cp /scratch/$SLURM_JOB_ID/result.* . | 켬 |
5단계: 매개변수 탭
Section titled “5단계: 매개변수 탭”버전 필드 추가 를 클릭하여 versions, version, version_path를 자동 생성합니다. 그런 다음 편집합니다:
- versions 기본값:
{"2.5": "/opt/mysolver/2.5/bin/solver", "2.4": "/opt/mysolver/2.4/bin/solver"} - version 기본값:
2.5
다음 매개변수를 추가합니다:
input_file — 유형: string, 위젯: file, 확장자: ["inp", "dat"], 필수: 예
num_iterations — 유형: integer, 위젯: number, 기본값: 1000, 최소: 1, 최대: 100000
precision — 유형: string, 위젯: radio, 기본값: double, 열거: ["single", "double"], enumLabels: {"single": "Single Precision (faster)", "double": "Double Precision (accurate)"}
6단계: 스크립트 탭
Section titled “6단계: 스크립트 탭”mpirun -np $SLURM_NTASKS -machinefile machinefile-$SLURM_JOB_ID \ "$version_path" -input "$input_file" -iter $num_iterations -prec "$precision"7단계: 그룹 탭
Section titled “7단계: 그룹 탭”두 개의 그룹을 생성합니다:
- Solver Options — 필드:
version,precision,num_iterations - Input — 필드:
input_file
8단계: 미리보기 및 저장
Section titled “8단계: 미리보기 및 저장”- 미리보기 탭으로 이동합니다. 양식 미리보기 를 확인합니다 — 버전 드롭다운, 정밀도 라디오 버튼, 반복 횟수 필드, 파일 선택기가 보여야 합니다.
- 샘플 값을 입력하고 스크립트 미리보기 를 확인합니다 —
mpirun명령이 올바르게 보이는지 확인합니다. - 플러그인 저장 을 클릭합니다.
- 기본 정보 탭으로 이동하여 활성화 를 켜고 다시 저장합니다.
예제 2: MATLAB (선택적 VNC GUI)
Section titled “예제 2: MATLAB (선택적 VNC GUI)”배치 모드에서 .m 스크립트를 실행하거나 VNC 세션 내에서 대화형 MATLAB 데스크탑을 시작할 수 있는 MATLAB용 플러그인. 내장 MATLAB 플러그인과 동일합니다.
1단계: 플러그인 생성
Section titled “1단계: 플러그인 생성”관리자 > 플러그인 으로 이동하여 새 플러그인 을 클릭하고, ID my-matlab을 입력한 후 생성 을 클릭합니다.
2단계: 기본 정보 탭
Section titled “2단계: 기본 정보 탭”| 필드 | 값 |
|---|---|
| 이름 | MATLAB |
| 카테고리 | Data Analysis |
| 설명 | MathWorks MATLAB — batch scripts or interactive desktop |
| 플러그인 버전 | 1.0.0 |
| 활성화 | 지금은 끔 |
3단계: SLURM 탭
Section titled “3단계: SLURM 탭”| 필드 | 값 |
|---|---|
| 작업당 CPU | 2 |
| 메모리 | 4G |
4단계: 실행 탭 — VNC GUI 활성화
Section titled “4단계: 실행 탭 — VNC GUI 활성화”핵심 단계입니다:
- GUI 설정 에서 VNC GUI 활성화 를 체크합니다.
- GUI 모드 를 선택적 (사용자가 선택) 으로 설정합니다.
이렇게 하면 제출 양식에 “GUI 데스크탑에서 실행” 체크박스가 추가되고 내장 gui 변수(true/false)를 사용할 수 있게 됩니다.
5단계: 매개변수 탭
Section titled “5단계: 매개변수 탭”버전 필드 추가 를 클릭하고 편집합니다:
- versions 기본값:
{"R2024a": "/usr/local/MATLAB/R2024a/bin/matlab", "Default": "/usr/local/bin/matlab"} - version 기본값:
R2024a
하나의 매개변수를 더 추가합니다:
script_path — 유형: string, 위젯: file, 확장자: ["m"], showIf: { "gui": false }, requiredIf: { "gui": false }
showIf와 requiredIf는 내장 gui 키를 참조합니다. 사용자가 “GUI 데스크탑에서 실행”을 체크하면 스크립트 파일 필드가 숨겨집니다.
6단계: 스크립트 탭
Section titled “6단계: 스크립트 탭”if [ "$gui" = "true" ]; then "$version_path" -desktopelse "$version_path" -nodisplay -nodesktop -nosplash < "$script_path"fi7단계: 그룹 탭
Section titled “7단계: 그룹 탭”하나의 그룹을 생성합니다:
- MATLAB Options — 필드:
version,script_path
8단계: 미리보기 및 저장
Section titled “8단계: 미리보기 및 저장”- 미리보기 > 양식 미리보기 로 이동합니다. 버전 드롭다운과 스크립트 파일 선택기가 보여야 합니다.
- GUI 데스크탑에서 실행 체크박스를 체크합니다. script_path 필드가 사라져야 합니다.
- 스크립트 미리보기 로 전환합니다 —
if/else블록을 확인합니다. - 플러그인 저장 을 클릭한 후 활성화합니다.