최근들어 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 21875
공지 [UX Summit 요약] 오른쪽 클릭은 옳다 (Right Click is Right) 관리자 2020.11.16 20520
공지 [10.4 시드니] What's NEW! 신기능 자세히 보기 관리자 2020.05.27 22548
공지 RAD스튜디오(델파이,C++빌더) - 고객 사례 목록 관리자 2018.10.23 28301
공지 [데브기어 컨설팅] 모바일 앱 & 업그레이드 마이그레이션 [1] 관리자 2017.02.06 29592
공지 [전체 목록] 이 달의 기술자료 & 기술레터 관리자 2017.02.06 24922
공지 RAD스튜디오(델파이, C++빌더) - 시작하기 [1] 관리자 2015.06.30 45860
공지 RAD스튜디오(델파이,C++빌더) - 모바일 앱 개발 사례 (2020년 11월 업데이트 됨) 험프리 2014.01.16 181410
1003 [도서/PDF/소스코드] 델파이 Begin...End - 19장. 컴포넌트 작성 관리자 2019.08.20 594
1002 [도서/PDF/소스코드] 델파이 Begin...End - 18장. 인트라웹을 이용한 웹 프로그래밍 관리자 2019.08.20 566
1001 [도서/PDF/소스코드] 델파이 Begin...End - 17장. DataSnap REST 관리자 2019.08.20 584
1000 [도서/PDF/소스코드] 델파이 Begin...End - 16장. DataSnap 웹 관리자 2019.08.20 536
999 [도서/PDF/소스코드] 델파이 Begin...End - 15장. 웹 브로커를 이용한 웹 프로그래밍 [1] 관리자 2019.08.20 609
998 [도서/PDF/소스코드] 델파이 Begin...End - 14장. 분산처리(DataSnap) 관리자 2019.08.20 699
997 [도서/PDF/소스코드] 델파이 Begin...End - 13장. ADO를 사용한 데이터베이스 프로그래밍 관리자 2019.08.20 612
996 [도서/PDF/소스코드] 델파이 Begin...End - 12장. DBExpress를 사용한 데이터베이스 프로그래밍 [1] 관리자 2019.08.19 649
995 [도서/PDF/소스코드] 델파이 Begin...End - 11장. DLL 작성과 호출 관리자 2019.08.19 1062
994 [도서/PDF/소스코드] 델파이 Begin...End - 10장. 보고서 작성하기 관리자 2019.08.19 624
993 [도서/PDF/소스코드] 델파이 Begin...End - 9장. 예외(Exception) 처리 [1] 관리자 2019.08.19 611
992 [도서/PDF/소스코드] 델파이 Begin...End - 8장. 필드 에디터 관리자 2019.08.19 543
991 [도서/PDF/소스코드] 델파이 Begin...End - 6장. 데이터베이스 프로그래밍 개요 관리자 2019.08.19 646
990 [도서/PDF/소스코드] 델파이 Begin...End - 7장. BDE를 사용한 데이터베이스 프로그래밍 [1] 관리자 2019.08.19 744
989 [3분 완성] C++로 안드로이드&iOS 용 사진공유앱 완성하기 관리자 2019.08.14 420
988 RAD스튜디오 로드맵 - 2019년 8월 관리자 2019.08.13 570
987 [10.3 리오][업데이트 2] IDE 향상된 기능들 [4] 관리자 2019.08.12 549
986 10.3.2 에서의 겟잇(GetIt) 설치 방법 안내 관리자 2019.08.12 490
985 [도서/PDF/소스코드] 델파이 Begin...End - 5장. 디버깅 사용하기 관리자 2019.08.09 627
984 [도서/PDF/소스코드] 델파이 Begin...End - 4장. 컴포넌트 라이브러리와 패키지 관리자 2019.08.09 614