Jungsoo Nam A BlockChain developer

OpenCL example

OpenCL 예제이다. 이 예제에서는 GPU와 CPU를 동시에 사용하고 있다. 인텔 CPU에서 테스트를 했는데 인텔 OpenCL 드라이버를 설치하지 않으면, GPU만 가지고 수행을 하기 때문에 ret_num_platforms=1이 된다. 인텔 i5-2500과 지포스 GTX970에서 테스트 하였을때 ret_num_platforms=3이 되었다. #include <stdio.h> #include <stdlib.h> #ifdef __APPLE__ #include <OpenCL/opencl.h> #else #include <CL/cl.h> #endif #define ME... Read more

CUDA example

#include "device_launch_parameters.h" #include <cuda_runtime.h> #include <stdlib.h> #include <stdio.h> #define SIZE 1024 // __global__을 통해서 커널임을 표시한다. host에서 호출된다. __global__ void VectorAdd(int *a, int *b, int *c, int n) { // 수많은 스레드가 동시에 처리한다. // 따라서 threadIdx(스레드 인덱스)를 통해서 스레드들을 구별한다. int i = threadIdx.x; pri... Read more

iOS CocoaPods에서 Admob SDK 7.9.1 버전 사용하기

Admob을 Google SDK페이지에서 시킨대로 사용하다 보면 최신버전은 7.9.1인데 7.8.1이 연동되어 다음과 같은 에러메세지가 나는 경우가 있다. You are currently using version 7.8.1 of the SDK. Please consider updating your SDK to the most recent SDK version to get the latest features and bug fixes. The latest SDK can be downloaded from http://goo.gl/iGzfsP. A full list of release notes is available ... Read more

Android 소프트키 사용가능 여부 체크 및 높이 구하기

안드로이드 하단바 소프트키 네비게이션바 사용가능 여부 및 높이를 구할때는 다음과 같이 구한다. 단위는 pixel이다. private boolean hasSoftMenu() { //메뉴버튼 유무 boolean hasMenuKey = ViewConfiguration.get(getApplicationContext()).hasPermanentMenuKey(); //뒤로가기 버튼 유무 boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); if (!hasMenuKey && !hasBackKey)... Read more

Android FFmpeg macOS에서 빌드하기

인터넷에 안드로이드 FFmpeg 빌드하기 내용을 찾아보았다. 거의다 Linux거나 Windows의 cygwin으로 빌드하는 방법이 나온다. 그런데 MacOSX에서도 직접 빌드가 가능하다. 그리고 예전의 버전들에 비해서 빌드가 한결 간편해 졌다. 사용하는 버전은 다음과 같다. Android NDK: r11c ffmpeg: 3.0.2 MacOSX: El Capitan 10.11.5 먼저 다음 디렉토리에 ffmpeg 소스를 받아서 압축을 푼다. ~/android-ndk-r11c/sources/ffmpeg-3.0.2$ 그리고 다음과 같이 config.sh를 만들어서 실행한다. 여기서 중요한 것은 다른 예제에서는 ... Read more