MATLAB (25년 2월 중 서비스 개시 예정)
누리온 및 뉴론 시스템에서 MATLAB 데스크톱 및 MATLAB Parallel Server 사용 방법
Last updated
누리온 및 뉴론 시스템에서 MATLAB 데스크톱 및 MATLAB Parallel Server 사용 방법
Last updated
원격데스크톱(VNC, 우분투 OS) 에서 MATLAB 데스크톱 프로그램을 사용할 수 있으며, 누리온 및 뉴론 시스템의 작업 스케줄러를 통해서 할당된 계산 노드에서 MATLAB Parallel Server를 사용하여 대규모 병렬 연산 작업을 실행할 수 있다. (MATLAB 지원 버전 : R2024a)
누리온 및 뉴론 시스템에서 MATLAB 데스크톱 및 MATLAB Parallel Server를 사용하기 위해서는 사용자(소속기관)가 라이선스를 보유해야 하며, 아래 지침에 따라 MATLAB 사용자 라이선스 활성화를 수행해야 한다.
자세한 MATLAB 소프트웨어 사용법은 MathWorks 도움말 센터를 참조 하시기 바랍니다.
MATLAB 소프트웨어 자체에 대한 기술 지원은 MathWorks 지원 문의 에서 요청하시기 바랍니다.
MyKSC에서 사용자 별 할당 가능한 최대 CPU 코어수 혹은 GPU 수는 아래와 같으나 변경될 수 있다. 사용자대시보드 상단의 CPU 및 GPU 정보에서 사용자별 할당량 및 사용량을 확인할 수 있다.
(누리온) 5개 CPU 코어
(뉴론) 5개 CPU 코어, 2개 GPU
MATLAB 데스크톱 프로그램을 실행하려면 온라인 라이선스 활성화 또는 사용자 MATLAB 라이선스 서버 연결(권장)이 필요하다.
온라인 Mathworks 계정 및 라이선스를 가진 사용자는 아래 절차에 따라 온라인 라이선스 활성화가 가능하다.
단, 사용자가 MATALB VNC 앱을 종료한 후 재시작하는 경우, 사용자 컨테이너에 임시 저장된 라이선스 정보가 삭제되고 호스트 ID가 변경 되기 때문에 온라인 라이선스 활성화 절차를 다시 진행해야 한다.
터미널(Terminal Emulator)을 실행하여 명령어 프롬프트에서 matlab 명령을 입력 실행하고, Mathworks Product Activation 에서 사용자 Email 및 패스워드를 입력한다.
적절한 사용자 라이선스가 선택 되었는지 확인 후 Activate 버튼을 눌러 활성화 한다.
사용자(기관)가 구축한 외부 MATLAB 라이선스 서버를 연결하는 라이선스 활성화 방법은 아래와 같이 라이선스 서버를 명기한 network.lic 파일을 생성하여 사용자 홈 디렉터리의 지정된 디렉터리에 저장해야 한다.
사용자가 MATALB VNC 앱을 종료한 후 재시작하는 경우에도 라이선스 활성화 작업을 반복할 필요가 없기 때문에 사용자 MATLAB 라이선스 서버 연결 방법을 권장한다.
외부 MATLAB 라이선스 서버와 연결을 허용하기 위해서는 KSC 홈페이지의 사용자 기술지원(상담) 게시판을 통해 담당자에게 라이선스 서버 IP 및 포트 번호를 기술하여 접속 허용을 요청해야 한다.
MATLAB Parallel Server를 사용하여 누리온 및 뉴론 시스템에서 병렬 연산을 실행하기 위해서는 반드시 해당 라이선스를 제공하는 사용자(소속기관) MATLAB 라이선스 서버 연결이 필요하다.
사용자가 직접 MATLAB 라이선스 서버를 구성하기 위해서는 Mathworks 홈페이지의 네트워크 라이선스 관리를 참고하거나 MathWorks 사를 통해 기술지원을 요청할 수 있다.
MATLAB Parallel Computing Toolbox 라이선스를 보유한 사용자는 MATLAB 데스크톱 프로그램이 실행되고 있는 누리온/뉴론 MyKSC의 로컬 서버에서 MATLAB 병렬 연산을 실행할 수 있다. 아래 예시는 뉴론 MyKSC에서 MATLAB 병렬 연산 실행 예시이며, 누리온 MyKSC에서도 동일한 방식으로 실행할 수 있다.
MATLAB 데스크톱 프로그램의 Parallel computing options에서 Create and Manage Clusters... 메뉴의 Discover Clusters를 실행하여 뉴론 시스템을 위한MATLAB Parallel Server cluster로 'Neuron'을 선택하여 프로파일을 추가한다.
Cluster Profile Manager를 실행한다.
메뉴를 선택하여 Cluster Profile Manager를 실행하고 Cluster Profile에서 Processes를 선택하고 Set as Default 설정 후 Edit 버튼을 눌러서 MATLAB_VNC 앱에 할당된 CPU 코어 수 이내에서 Numworkers 값을 설정한다.
Command Window에서 사용자의 MATLAB 병렬 프로그램이 저장된 디렉터리로 이동하여 실행 명령어를 입력한다. 아래 예시에서는 MATLAB 데스크톱 프로그램이 실행되고 있는 로컬 서버에서 MALTAB 병렬 연산을 수행하는 방법을 보여주고 있다.
(뉴론) 로컬 노드 1대, 3 CPU 코어
Numworkers : 3
(뉴론) 로컬 노드 1대, 2 CPU 코어, 2 GPU
Numworkers : 2
MATLAB Parallel Server 라이선스를 보유한 사용자는 누리온/뉴론 시스템의 계산 노드에서 MATLAB 병렬 연산 작업을 실행할 수 있다.
MATLAB Parallel Server를 통한 병렬 컴퓨팅 연산을 실행하기 위해서는 해당 라이선스를 제공하는 사용자(소속기관) 라이선스 서버 연결이 필요하므로 설정이 필요한 경우 사용자 MATLAB 라이선스 서버 연결을 참고 하시기 바랍니다.
MATLAB 데스크톱 프로그램의 Parallel computing options에서 Create and Manage Clusters... 메뉴의 Discover Clusters를 실행하여 누리온 시스템을 위한MATLAB Parallel Server cluster로 'Nurion'을 선택하여 프로파일을 추가한다.
Cluster Profile 목록에서 Nurion을 선택하고 Set as Default 설정 후 Edit 버튼을 눌러서 아래와 같은 파라미터의 값을 설정한다.
Numworkers : 병렬 연산을 실행할 워커수를 지정한다. 누리온 시스템에서 matlab 병렬 연산을 위한 계산 노드는 노드 당 40개의 CPU 코어를 가지고 있다. 사용자의 MATLAB Parallel server 라이선스 수 이내에서 워커수를 설정한다.
JobStorageLocation : 사용자의 스크래치 디렉터리에서 작업 정보가 저장될 경로를 지정한다.
EmailAddress : 작업 시작 및 종료 시 안내 메일을 받을 사용자 메일 주소를 지정한다.
QueueName: 누리온 시스템에서 MATLAB 병렬 연산을 위해 사용할 배치 작업 스케줄러(PBS Pro) 작업큐의 이름을 지정한다. 현재 norm_skl 큐만 사용 가능하다.
Command Window에서 사용자의MATLAB 병렬 프로그램이 저장된 디렉터리로 이동하여 실행 명령어를 입력한다. 아래 예제는 누리온 계산 노드의 MATLAB 워커에서 대화식 병렬 작업 및 일괄 처리식 병렬 작업을 실행하는 방법을 보여주고 있다.
(누리온) 리모트 계산 노드 2대, 16 CPU 코어/노드
Numworkers : 32
QueueName : norm_skl
좀 더 자세한 parpool 함수 사용법은 MATLAB 도움말을 참조하시기 바랍니다.
(누리온) 리모트 계산 노드 2대, 16 CPU 코어/노드
Numworkers : 32
QueueName : norm_skl
batch 함수에서 병렬 풀은 병렬 연산작업 관리를 위해 사용자가 필요로 하는 워커수(CPU 코어수) 보다 한 개 더 요구된다. 예시와 같이 31개의 워커(CPU 코어)를 필요로 하는 병렬 작업은 32개의 워커(CPU 코어)가 필요하다.
좀 더 자세한 batch 함수 사용법은 MATLAB 도움말을 참조하시기 바랍니다.
MATLAB 병렬 연산작업은 누리온 시스템의 배치 작업 스케줄러(PBS Pro)를 통해 할당된 계산 노드에서 실행되며, MyKSC의 배치작업 App을 실행하여 제출된 사용자 작업 및 큐 정보 등을 확인할 수 있다.
MATLAB 데스크톱 프로그램의 Parallel computing options에서 Create and Manage Clusters... 메뉴의 Discover Clusters를 실행하여 뉴론 시스템을 위한MATLAB Parallel Server cluster로 'Neuron'을 선택하여 프로파일을 추가한다.
Cluster Profile 목록에서 Neuron을 선택하고 Set as Default 설정 후 Edit 버튼을 눌러서 아래와 같은 파라미터의 값을 설정한다.
Numworkers : 병렬 연산을 실행할 워커수를 지정한다. 뉴론 시스템에서 matlab 병렬 연산을 위한 계산 노드는 다양한 구성을 가지고 있다. 사용자의 MATLAB Parallel server 라이선스 수 이내에서 워커수를 설정한다.
JobStorageLocation : 사용자의 스크래치 디렉터리에서 작업 정보가 저장될 경로를 지정한다.
EmailAddress : 작업 종료 시 안내 메일을 보낼 사용자 메일 주소를 지정한다.
GPU: 계산 노드 당 GPU 수를 지정한다.
MemPerCPU : CPU 코어 당 메모리 용량을 지정한다.
Nodes : 계산 노드 수를 지정한다.
Partition: 파티션(큐)를 지정한다.
TaskPerNode: 계산 노드 당 타스크 수를 지정한다.
(뉴론) 리모트 계산 노드 2대, 16 CPU 코어/노드
Numworkers : 32
GPU : 0
MemPerCPU : 4gb
Nodes : 2
Partition : skl
TasksPerNode : 16
batch 함수에서 병렬 풀은 병렬 작업 관리를 위해 사용자가 필요로 하는 워커수(CPU 코어수) 보다 한 개 더 요구된다. 예시와 같이 31개의 워커(CPU 코어)를 필요로 하는 병렬 작업은 32개의 워커(CPU 코어)가 필요하다.
좀 더 자세한 batch 함수 사용법은 MATLAB 도움말을 참조하시기 바랍니다.
MATLAB 병렬 작업은 누리온 시스템의 배치 작업 스케줄러(Slurm)를 통해 할당된 계산 노드에서 실행되며, MyKSC의 배치작업 App을 실행하여 제출된 사용자 작업 및 큐 정보 등을 확인할 수 있다.
(뉴론) 리모트 계산 노드 1대, 2 CPU 코어/노드, 2 GPU/노드
Numworkers : 2
GPU : 2
MemPerCPU : 4gb
Nodes : 1
Partition : cas_v100_2
TasksPerNode : 2
누리온 시스템의 배치 작업 스케줄러(PBS pro)에서 지원하는 큐(norm_skl)의 계산 노드 정보 등은 또는 MyKSC 배치작업 APP의 큐 정보를 참조하시기 바랍니다.
뉴론 시스템의 배치 작업 스케줄러( SLURM)에서 지원하는 Partition(큐) 리스트 및 Partition(큐) 별 계산 노드 정보 등은 또는 KSC 배치작업 APP의 큐 정보를 참조하시기 바랍니다.