Mac OS X 10.6에는 OpenCL이 포함되어 있지만 OpenCL을 사용하도록 다시 작성하면 얼마나 많은 응용 프로그램을 사용할 수 있습니까? OpenCL을 사용하기 위해 어떤 종류의 응용 프로그램을 다시 작성해야합니까?OpenCL을 사용하기 위해 어떤 종류의 응용 프로그램을 다시 작성해야합니까?
답변
우리 회사는 과학 계산을 위해 OpenCL을 사용하고 있습니다. 제가 사용하는 개발 팀의 일원은 아니지만, 이미지를 대규모로 처리하고, 재구성을 상상하고, 이전에 작성된 과학 코드를 대규모로 병렬 처리하여 사용하는 몇 가지 사항을 알려 드릴 수 있습니다.
기본적으로 OpenCL은 다소 최첨단입니다. 당신이 그것을 다루고 싶지 않거나 그것을 다루어야 만하지 않는다면, 그것을 필요로하는 사람들에게 남겨진 것이 가장 좋습니다. 나는 당신을 낙담 시키려고하지 않고 있지만, 틈새 시장을 위해 설계된 틈새 제품입니다. 잠재적 인 고용 목적을 위해 다른 프로그래밍 분야를 공부하는 것이 더 나을 것입니다.
OpenCL은 "성능 향상"버튼이 아닙니다. 성능 향상을 위해 만족해야 할 몇 가지 전제 조건이 있습니다. 첫 번째 것은 적절한 하드웨어입니다 (Tesla GPU가 도움이됩니다). 그것으로부터 이익을 얻을 수있는 소프트웨어에 관해서는, 그것은 많은 병렬 컴퓨팅을 수행하는 소프트웨어입니다. 이것은 대부분의 "일일"소프트웨어를 제외하고 그래픽 처리 응용 프로그램 (렌더러, 이미지 조작 프로그램), 작업이 병렬 인 대형 데이터 처리 응용 프로그램 및 과학 응용 프로그램을 남겨 둡니다.
보통 OpenCL의 혜택을받을 수있는 응용 프로그램을 작성하면 이미 혜택을 얻을 수 있다는 것을 알고 있습니다.
우선 OpenCL을 사용하여 전체 응용 프로그램을 "다시 쓸"수 없습니다. GUI에 대해서도 "일반"언어가 필요합니다.
OpenCL을 사용하면 매우 큰 데이터 병렬 문제를 가속화 할 수 있습니다. 대부분의 문제는이 범주에 속하지 않습니다.
가장 유망한 후보는 그래픽/비디오 및 사운드 프로세싱입니다. 그러나 매우 큰 데이터 세트에서 동일한 작업을 요구하는 모든 문제는 적합 할 것입니다.
더 많은 CPU 전력을 필요로하는 대부분의 일반 응용 프로그램은 QuickTime X에서 사용되는 Grand Central Dispatcher를 더 잘 사용할 것이라고 생각합니다. 여기에 나온 대답에서 OpenCL은 제한된 응용 프로그램 그룹에 대해 매우 구체적입니다. OpenCL 다른 플랫폼에서 사용할 수있는 프로그래밍 언어 C 기반을 사용할 수 있기 때문에 앞으로 나아갈 수 있습니다. – kiamlaluno
GCD는 기본적으로 매우 정교한 스레드 풀 구현입니다. 직접 스레드를 관리하면 더 효율적으로 작업을 수행 할 수 있습니다. –
- 1. 웹 응용 프로그램을 제공하기 위해 Jetty 사용하기
- 2. Ruby on Rails에서 Codeigniter/PHP 응용 프로그램을 다시 작성해야합니까? 왜?
- 3. AWS와 함께 사용하기 위해 어떤 보석을 사용해야합니까?
- 4. 어떤 종류의 로그인을 사용해야합니까?
- 5. 어떤 종류의 Barcode입니까?
- 6. 3d 글로브 웹 응용 프로그램을 위해 어떤 기술을 선택해야합니까?
- 7. 어떤 종류의 프록시입니까?
- 8. 어떤 종류의 트라이입니까?
- 9. 어떤 종류의 UDP 프로토콜입니까?
- 10. iphone - 어떤 종류의 시뮬레이터를 감지
- 11. 어떤 종류의 응용 프로그램이 서버 측 응용 프로그램입니까?
- 12. 원하는 기능을 구현하기 위해 비동기 메서드/클래스를 다시 작성해야합니까?
- 13. System.Win32를 사용하기 위해 어떤 어셈블리 참조를 추가합니까?
- 14. 어떤 종류의 응용 프로그램이 클로저에 적절합니까?
- 15. 어떤 종류의 자바 스크립트입니까?
- 16. 어떤 종류의 개체 트리입니까?
- 17. 어떤 종류의 예외를 던집니까?
- 18. WPF 응용 프로그램을 C++/CLI 또는 C#으로 작성해야합니까?
- 19. iis7.5의 주요 코드를 다시 작성해야합니까?
- 20. 사용자 정의 웹 응용 프로그램을 위해 어떤 프레임 워크를 고려해야합니까?
- 21. Ruby on Rails 응용 프로그램을 테스트하기 위해 어떤 조언을합니까?
- 22. 웹 응용 프로그램을 위해 어떤 패턴을 선택하겠습니까? 그 이유는 무엇입니까?
- 23. 웹 기반 CRM 응용 프로그램을 위해 어떤 아키텍처를 선택해야합니까?
- 24. j2me에서 게임 응용 프로그램을 만들기 위해 어떤 API가 사용됩니까?
- 25. 다시 같은 asp.net 응용 프로그램을 다시 작성하십시오
- 26. 프로그램을 닫은 후 응용 프로그램을 다시 시작하십시오.
- 27. 어떤 종류의 해시입니까?
- 28. 어떤 종류의 데이터 구조입니까?
- 29. 플러시 PHP는 어떤 종류의
- 30. 어떤 종류의 프로그램이 호출됩니까?
일반 GeForce/Radeon 카드와 전문 라인업 간의 OpenCL 지원에는 차이가 없습니다. –