기술 문서자료
[FAQ] 여러 개의 CPU 사용이 해석시간에 어떤 영향을 미치나요?
- 25-04-02 00:00
- 웹스시스템코리아
[FAQ] 여러 개의 CPU 사용이 해석 시간에 어떤 영향을 미치나요?
프로그램의 다양한 부분에서 여러 코어의 사용
Area of the program | Hyper-Threading | Multicore |
User Interface | No | No |
Mesher | No | Yes* |
Solver | Yes** | Yes |
* In SOLIDWORKS version 2014 and later
** In SOLIDWORKS version 2009 and late
여러 코어가 메시 생성에 미치는 영향
2014 버전부터 메시 생성기가 다음과 같이 멀티스레딩을 지원합니다:

더 많은 코어를 사용할수록 성능이 지속적으로 향상됩니다.

SOLIDWORKS 2014 이전 버전에서는 코어 수가 메시 생성 시간에 영향을 미치지 않습니다.
여러 코어가 해석 시간에 미치는 영향
테스트를 통해 여러 코어 사용이 해석 시간에 미치는 영향을 확인할 수 있습니다.
본 섹션에서는 튜토리얼에서 제공하는 다음 모델을 사용합니다:
▶ A2 - Conjugate HT
▶ B3 - Heat Exchanger
▶ C3 - Non-Newtonian
▶ C6 - CPU Cooler
이 Q&A에서는 현재 테스트에 사용된 튜토리얼 모델의 수정된 버전을 포함하고 있습니다. 원본 버전에서의 수정 사항은 글로벌 메시 설정(Global Mesh Settings) 변경 및 계산 제어 옵션(Calculation Control Options) 의 마무리 조건(Finishing Conditions) 변경을 포함합니다.
아래 표는 테스트에 사용된 컴퓨터의 프로세서를 보여줍니다.
Computer |
# CPU |
Details of the processor |
|||
Type |
Total # of cores |
Base Freq. (GHz) |
Max Freq. (GHz) |
||
A |
2 |
Xeon Gold 6244 |
16 (2×8) |
3.6 |
4.4 |
B |
2 |
Xeon Gold 6148 |
16 (2×8) |
2.4 |
3.7 |
C |
2 |
E5-2680v4 |
28 (2×14) |
2.4 |
3.3 |
D |
1 |
Xeon W-2275 |
14 |
3.3 |
4.8 |
E |
1 |
Ryzen Threadripper PRO 5965WX |
24 |
3.8 |
4.5 |
해석 시간과 코어 수의 관계를 나타내는 곡선은 모든 모델과 컴퓨터에서 동일하지 않습니다. 경향은 유사하지만, 정확한 성능 향상에는 차이가 있습니다.
테스트 결과, 모든 코어를 사용할 때의 해석 시간은 단일 코어 사용 시 해석 시간의 12.7%에서 17.4% 사이로 감소했습니다.

비슷한 워크스테이션들 사이에서 어느 컴퓨터가 더 빠르게 시뮬레이션을 실행할 수 있는지 예측하는 것은 때때로 어렵습니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 모든 코어를 사용할 때 성능 차이가 미미할 수 있습니다. 두 컴퓨터 모두 2개의 프로세서(각각 8코어) 를 가지고 있지만, 기본 클럭 속도는 컴퓨터 A가 3.6 GHz, 컴퓨터 B가 2.4 GHz로 크게 다릅니다.
예상대로, 단일 코어를 사용할 때는 컴퓨터 A의 성능이 컴퓨터 B보다 훨씬 우수합니다.
성능 예측이 어려운 이유
성능 예측을 어렵게 만드는 주요 요소는 다음과 같습니다.
▶ 최대 터보 주파수(Max Turbo Frequency)
▶ Intel® Turbo Boost Technology 2.0 주파수
▶ Intel® Turbo Boost Max Technology 3.0 주파수
▶ 프로세서 내 강력한 성능 코어(P-코어)와 효율성 코어(E-코어)의 동시 존재
▶ 다중 프로세서를 사용하는 경우, 서로 다른 프로세서에 속한 코어 간의 통신 지연과 같은 성능 병목 현상
고성능을 발휘하는 컴퓨터는 코어 수가 많고 클럭 속도가 높은 단일 프로세서를 갖춘 시스템입니다. 이는 컴퓨터 E의 경우에 해당합니다.
테스트 결과
테스트 결과, 모든 코어를 사용할 경우 모든 모델에서 가장 빠른 컴퓨터는 일관되게 동일한 것으로 나타났습니다.

참고: 테스트 결과는 SOLIDWORKS 2022 SP4.0에서 수행되었습니다.
사용자 모델로 테스트 수행 방법
1. 하이퍼스레딩(Hyperthreading) 옵션 비활성화
▶ 컴퓨터의 BIOS 또는 UEFI 설정에서 하이퍼스레딩을 비활성화합니다.
2. 프로젝트 생성
▶ 사용자의 컴퓨터에 있는 코어 개수만큼 프로젝트를 생성합니다.
▶ 각 프로젝트에 CPU (1), CPU (2), … 와 같이 명확한 이름을 부여합니다.
3. Batch Run 기능 사용
▶ 각 프로젝트에서 사용할 코어 개수를 다르게 설정합니다.
▶ Use CPU(s) 목록에서 적절한 코어 개수를 선택합니다.
▶ Maximum simultaneous runs at this computer 값을 1로 설정합니다.
▶ 모든 프로젝트를 실행합니다.
4. 결과 분석
각 프로젝트 폴더에서 다음 단계를 반복하여 해석 시간을 확인합니다.
▶ [X] 폴더에서 [X].stdout 파일을 엽니다. ([X]는 프로젝트 폴더명)
▶ 사용된 코어 개수 확인:
- 파일의 세 번째 줄을 확인합니다.
- 예시: Number of used processors (NPROC): 28
▶ 해석 시간 확인:
- 파일의 마지막 줄 중 "Total CPU time"으로 시작하는 줄을 찾습니다.
- 역방향 검색을 활용하면 더 빠르게 찾을 수 있습니다.
- 예시: Total CPU time 715 s
프로젝트를 동시에 해석하는 특별한 경우
▶ 16~24개의 코어를 사용하는 경우, 성능 확장이 포화(saturation) 상태에 도달하여 유의미한 성능 향상이나 저하가 발생하지 않음.
▶ 만약 여러 개의 프로젝트를 실행해야 한다면, 두 개의 프로젝트를 동시에 실행하는 것이 더 효과적일 수 있음.
Batch Run 설정 방법
1. 각 프로젝트를 실행할 때, 컴퓨터의 코어 수의 절반만 사용하도록 설정
▶ 최대 16~24개의 코어까지 할당 (포화 한계)
2. Batch Run 대화상자에서 "Maximum simultaneous run at this computer" 값을 2로 설정
▶ 이는 SOLIDWORKS Flow Simulation에서 지원하는 최대 동시 실행 개수임.