2014/08/31
How to contribute to OpenCV
http://code.opencv.org/projects/opencv/wiki/How_to_contribute
2014/08/22
이기종 멀티코어 환경을 위한 프로그래밍 언어 및 영상처리 오픈소스
click -> Slideshare presentation link
오늘날 멀티코어 프로세서 세상은 이기종 컴퓨팅 환경이 대부분이라 해도 과언이 아니다.
병렬 컴퓨팅은 비약적인 속도 향상과 전력 소비 감소라는 장점이 있지만 사용하기가 까다롭고 특히 다양한 아키텍처로 이루어진 이기종 컴퓨팅 환경에서는 소프트웨어 개발이 더욱 어려워진다.
이 프리젠테이션에서는 이기종 컴퓨팅 환경에서의 병렬 처리를 위한 프로그래밍 언어를 소개하고 OpenCV와 같은 영상처리 라이브러리에서의 활용 예시를 보여준다
Today, multi-core processor world almost equals heterogeneous computing platform.
Even though parallel computing can give performance enhancement and low power consumption, it is not easy to use especially form software development in heterogeneous computing environment which consists of many kind of architecture.
In this presentation, parallel computing programming languages for heterogeneous computing will be introduced and shows its application for image processing library such as OpenCV.
2014/08/21
OpenCV on GPU(Nvidia CUDA)
Video lecture
presentation file
2014/05/23
Trends of SW Platforms for Heterogeneous Multi-core systems and Open Source Community Activities
Date: 2014.05.23
presentation file link:
http://www.slideshare.net/sshtel/trends-of-sw-platforms-for-heterogeneous-multicore-systems-and-open-source-community-activities-iset2014
Heterogeneous system architecture today is not an early technology trend anymore. This architecture is already widely accepted in various computer industries such as personal computers and mobile devices.
Typical single-core architecture faced limitations of performance growth in the past. The multi-core architecture era arrived decades ago. Early multi-core architectures were basically based on homogeneous system architecture which gained performance by just adding cores. However, even though each core shows high performance and it is usable for general purpose, many-core architecture is not easily accepted for many domains except server clustering industry because of its price. Furthermore, end-user devices like PC or mobile phone require more various particular tasks rather than a few performance-oriented tasks. One of the needs is graphic processing which drives development of GPU. Many heterogeneous system architecture utilizes CPU and GPU usually on the same silicon chip.
Multi-core era also saw some interesting developments with advances of GPU. Since GPUs have parallel vector processing capabilities that enable them to compute large sets of data, people tried to utilize them for general purporse computation beyond graphic processing. And even parallel processing consumed much lower power relative to similar works on CPUs. Although GPUs have definate advantages above, vector processing is not always good answer. CPUs are still better for certain problems and we cannot dump typical abundant software libraries and solutions. This is because CPU-GPU coupled architecture trend has been risen up.
Heterogeneous system is very sophisticated. Thus software industry faced a truly hard portability issue that programmers cannot support all different platform by re-writing code. To overcome this issue, the HSA Foundation which is open industry standard organization for heterogeneous system was formed. The goal of HSA is to help system designers integrate different architecture easily and provide advanced approaches and standard software infrastructure such as compiler and language.
In this presentation, today’s trend of heterogeneous system and its software platform technologies will be introduced, especially CPU-GPU offloading and OpenCL. By these trend changes, there have been many efforts to improve heterogeneous system software platform in Korea. Researches driven by the Korean Electronics and Telecommunications Research Institute, the ETRI, will be introduced. Research works are not only included but an open source community to try and evaluate software technologies developed by the ETRI also organized and its activities will be introduced in this presentation too.
2014/02/21
Reason why you must not call function in condition
you cannot guarantee all functions are going to be called in condition.
See code below...
funcA
funcB
first condition! funcA() || funcB()
funcB
second condition! funcB() || funcA()
funcA
funcB
funcA
* if the function calls are related to I/O, you may make a mistake and cause memory leak.
See code below...
#include <stdio.h>
int funcA(){
printf("funcA \n");
return 0;
}
int funcB(){
printf("funcB \n");
return 1;
}
int main()
{
int a = 0;
int b = 1;
if( funcA() || funcB() )
{
printf("first condition! funcA() || funcB() \n\n");
}
if( funcB() || funcA() ){
printf("second condition! funcB() || funcA() \n\n");
}
if( funcA() && funcB() )
{
printf("third condition! funcA() && funcB() \n\n");
}
if( funcB() && funcA() ){
printf("fourth condition! funcB() && funcA() \n\n");
}
return 0;
}
funcA
funcB
first condition! funcA() || funcB()
funcB
second condition! funcB() || funcA()
funcA
funcB
funcA
* if the function calls are related to I/O, you may make a mistake and cause memory leak.
2013/10/20
AMD cores supporting OpenCL
AMD cores supporting OpenCL
OpenCL™ 1.2 conformance logs submitted
(pending ratification) for:
AMD A-5xxx and A-4xxx APUs (Windows®),
Radeon HD 7900,
Radeon HD 7800,
Radeon HD 6900,
Radeon HD 6400,
Radeon HD 6300,
Radeon HD 5800,
FirePro W8000,
FirePro W9000,
AMD FirePro W9000X2,
AMD FirePro S9000,
FirePro V9800,
FirePro V8800,
FirePro V7900,
FirePro V7800,
FirePro V5900, x86 15h Family CPUs with
SSE2 & AVX support.
OpenCL™ 1.1 conformance logs submitted for
the
AMD E-Series APU (Windows® 7),
AMD C-Series APU (Windows® 7),
AMD Radeon™ HD 6900
Series GPUs,
AMD Radeon™ HD 6800 Series GPUs, ,
AMD Radeon™ HD 6700 Series GPUs,
AMD Radeon™ HD 6600 Series GPUs,
AMD Radeon™ HD 6500 Series GPUs,
AMD Radeon™ HD 6400 Series GPUs,
AMD Radeon™ HD 5800 Series GPUs,
ATI Radeon™ HD 5700 Series GPUs,
ATI Radeon™ HD 5600 Series GPUs
ATI Radeon™ HD 5500 Series GPUs,
ATI Radeon™ HD 5400 Series GPUs,
ATI FirePro™ V8800 Series GPUs,
ATI FirePro™ V7800 Series GPUs,
ATI FirePro™ V5800 Series GPUs,
ATI FirePro™ V4800 Series GPUs,
ATI FirePro™ V3800 Series GPUs,
ATI Mobility Radeon™ HD 5800 Series GPUs
(Windows® 7),
ATI Mobility Radeon™ HD 5700 Series GPUs
(Windows® 7),
ATI Mobility Radeon™ HD 5600 Series GPUs
(Windows® 7),
ATI Mobility Radeon™ HD 5400 Series GPUs
(Windows® 7),
and x86 CPUs with SSE2. Product is based on
a published Khronos Specification, and is expected to pass the Khronos
Conformance Testing Process. Current conformance status can be found at
www.khronos.org/conformance.
Subscribe to:
Posts (Atom)