최근들어 PC는 물론이고 스마트폰에서도 멀티코어 CPU를 이용해 성능을 극대화 시키고 있습니다. RAD Studio는 XE7에서 이러한 멀티코어 CPU를 최대한 활용할 수 있는 페러럴 컴퓨팅 라이브러리를 추가해 멀티코어 CPU를 최대한 활용할 수 있도록 지원하고 있습니다.


페러럴 컴퓨팅 라이브러리에 대해 알아봅니다.

병렬(페러럴) 컴퓨팅 러이브러리

페러럴 컴퓨팅 라이브러리(Parallel Computing Library)란?

  • 멀티코어 CPU를 이용해 최적의 성능을 낼 수 있도록 다수의 CPU에서 병렬(페러럴)로 작업
  • 비동기 연산작업에 사용되어 멀티코어 컴퓨터와 장비 최대한 활용 가능 
  • 기존 코드에 손쉽게 통합하도록 라이브러리 형태로 지원 
  • VCL과 FMX, 델파이와 C++빌더에서 모두 사용 가능


페러럴 라이브러리를 이용해 고성능이 필요한 작업을 병렬로 처리해 최적의 성능을 발휘하는 코드로 변경할 수 있습니다.

❑ 참고자료

동영상

페러럴 라이브러리 관련 글

❑ 샘플코드

RAD Studio XE7의 샘플경로에 위의 동영상에서 진행된 "Conways Game of Life(http://ko.wikipedia.org/wiki/라이프_게임)"샘플코드가 포함되어 있습니다.

샘플경로

  • Delphi : C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\Object Pascal\RTL\Parallel Library
  • C++ : C:\Users\Public\Documents\Embarcadero\Studio\15.0\Samples\CPP\RTL\Parallel Library


샘플을 테스트 방법
  1. 샘플 프로젝트 컴파일 및 실행
  2. [Load] 버튼으로 "*.LIF" 파일 선택
  3. [Re-center] 버튼으로 중앙으로 이동(변경을 확인할 수 있도록)
  4. [Start] 버튼으로 실행
  5. Parallel 체크박스로 페러럴이 적용된 성능과 적용되지 않은 성능 비교

인터넷 상에서는 아래의 경로를 통해 샘플코드 확인 할 수 있습니다.


❑ 마무리

페러럴 라이브러리는 델파이(Object Pascal)과 C++ 빌더를 사용해 VCL과 FMX(멀티 디바이스) 모두에서 병렬 프로그램을 지원하고, 윈도우, 맥, 안드로이드, iOS에서 사용할 수 있습니다.

단, 무분별하게 사용하면 다른 프로세스에 영향을 주거나 배터리 소모가 빠를 수 있으니 필요한 곳에 적절히 사용하시기 바랍니다.


관련글


번호 제목 글쓴이 날짜 조회 수
공지 [DelphiCon 요약] 코드사이트 로깅 실전 활용 기법 (Real-world CodeSite Logging Techniques) 관리자 2021.01.19 15496
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 13974
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 16508
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 22066
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 23284
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 18934
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 39274
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 174736
614 2020년 5월 GM 업데이트 - 여러분의 비즈니스에 길을 열어주세요! 관리자 2020.05.26 317
613 델파이 안드로이드 개발을 위해 OpenJDK 채택 file 김원경 2020.05.25 905
612 엠바카데로 오픈 소스 프로젝트 관리자 2020.05.25 709
611 [10.4 시드니 신기능] 겟잇 패키지 매니저(GetIt Package Manager) 개선 험프리 2020.05.21 606
610 [10.4 시드니 신기능] 컨트롤 개별 VCL 스타일 적용(Per-Control Style) 적용 험프리 2020.05.19 929
609 [10.4 시드니 신기능] 새로운 VCL TEdgeBrowser 컴포넌트 험프리 2020.05.18 22930
608 [고객 사례- 솔루션, 델파이] Beyond Compare - 데이터, 시스템 비교/병합/관리 프로그램 관리자 2020.05.14 763
607 [고객 사례- 솔루션, 델파이] AlignMix - 시각화된 세일즈 관리 도구 관리자 2020.05.12 375
606 [발표자료] 20200429 델파이 Push 메시지 전송 시스템 구현 방법 with 구글 Firebase [3] file 관리자 2020.05.04 1040
605 헬스케어 분야에서의 델파이 - 코로나에 맞서며 file 김원경 2020.04.29 613
604 [고객 사례- 의료, 델파이] COVID-19 격리 대상자 상태 관리 앱 관리자 2020.04.28 656
603 이 달의 기술자료 - 2020년 05월 file 험프리 2020.04.24 350
602 [사례 소개] 데브기어 마이그레이션 유상 컨설팅 사례 험프리 2020.04.22 552
601 델파이용 벡터 컨테이너 file 김원경 2020.04.14 760
600 [프로그래밍 애피타이저] 개발이 처음이거나 비 전공자 분들을 위한 가장 첫 번째 STEP! 관리자 2020.04.13 2475
599 [프로그래밍 애피타이저] 10장 트랜잭션의 정의 file 김원경 2020.04.09 440
598 [프로그래밍 애피타이저] 9장 저장프로시저와 트리거 file 김원경 2020.04.09 598
597 [프로그래밍 애피타이저] 8장 SQL 정의와문법 file 김원경 2020.04.09 681
596 [프로그래밍 애피타이저] 7장 데이터베이스 개념과 용어정의 file 김원경 2020.04.09 756
595 [고객 사례- POS, 주문, 델파이, 모바일] 마리스코스 - 레스토랑 주문 관리&전송 앱 관리자 2020.04.08 621