포트란 및 C++ 예제 실행하기
콘텐츠
🚀 미래를 위한 디렉터리
-
OpenACC와 CUDA를 열기 위한 준비
-
언어 평행성에 대한 디렉터리
🔍 README를 통해 본 내용
-
소스 파일 탐색
-
포트란 및 C++ 예제 살펴보기
💡 소스 코드 연습하기
-
포트란 및 C++ 연습 코드 실행
-
컴파일 및 실행 방법 이해하기
🎯 연습 문제
-
포트란 및 C++ 예제 연습하기
-
컴파일 및 실행 지침 확인하기
🛠️ 필요한 환경 설정
-
Perlmutter 또는 Summit에서의 실행 환경 확인
-
컴파일 및 실행 지침 이해하기
🖥️ GPU 및 CPU에서 실행하기
-
CPU에서 예제 실행하기
-
GPU에서 예제 실행하기
📊 성능 프로파일링
-
GPU 성능 확인하기
-
nsight systems를 사용한 프로파일링
🔄 GPU 성능 최적화하기
-
GPU 활용 증대를 위한 방법 탐색
-
초기화 비용 최소화를 위한 전략 수립
🤔 추가 고려 사항
-
문제 크기 조정 및 성능 평가
-
병렬 알고리즘의 효율적인 활용
📚 자원
-
NERSC 및 Oak Ridge에서의 실행 환경 요구사항
-
예제 코드 및 실행 스크립트
포트란 예제: 선형 시스템 해결하기
포트란 예제는 선형 시스템을 해결하는 방법을 보여줍니다. 이 예제는 GPU에서 완전히 실행할 수 있으며, BLAS 작업을 포함하여 표준 포트란 API를 사용합니다. 초기화 및 해결 작업을 거쳐 결과를 확인할 수 있습니다.
BLAS 라이브러리를 이용하여 포트란 예제를 실행할 수 있습니다. GPU에서 실행하려면 추가 옵션을 설정해야 합니다. 컴파일 및 실행 과정을 통해 선형 시스템을 해결할 수 있습니다.
C++ 예제: 벡터 연산
C++ 예제는 벡터 연산을 수행하는 방법을 보여줍니다. 이 예제는 std::transform을 사용하여 벡터의 요소를 변환하고, SAXPY 알고리즘을 구현합니다. 초기화 및 연산 작업을 거쳐 결과를 확인할 수 있습니다.
std::transform을 사용하여 C++ 예제를 실행할 수 있습니다. 벡터 연산을 GPU에서 수행하는 방법을 이해하고, 성능 프로파일링을 통해 GPU 작업을 확인할 수 있습니다.
하이라이트
- 포트란 및 C++ 예제 실행
- GPU 성능 최적화 방법 탐색
- 성능 프로파일링을 통한 GPU 작업 확인
자주 묻는 질문
Q: 예제 코드를 실행하는 데 필요한 환경은 무엇인가요?
A: 예제 코드를 실행하려면 Perlmutter 또는 Summit과 같은 환경이 필요합니다. 또한 CUDA Toolkit 및 필요한 모듈을 로드해야 합니다.
Q: 예제 코드를 CPU 또는 GPU에서 실행할 수 있나요?
A: 네, 예제 코드는 CPU 및 GPU에서 모두 실행할 수 있습니다. CPU에서 실행하는 방법과 GPU에서 실행하는 방법에 대한 지침이 제공됩니다.
Q: 성능 프로파일링을 어떻게 수행하나요?
A: nsight systems를 사용하여 GPU 성능 프로파일링을 수행할 수 있습니다. 이를 통해 GPU 작업이 실제로 GPU에서 실행되는지 확인할 수 있습니다.