2026년 6월 15일 월요일

대학원생이 ChatGPT로 논문 리뷰하는 법: 그냥 요약시키면 안 되는 이유

대학원생이 ChatGPT로 논문 리뷰하는 법: 그냥 요약시키면 안 되는 이유

논문을 처음 읽는 대학원생들이 가장 많이 하는 실수는 논문을 처음부터 끝까지 정독하려고 하는 것이다. 물론 중요한 논문은 꼼꼼히 읽어야 하지만, 모든 논문을 같은 깊이로 읽는 것은 현실적으로 어렵다.

특히 연구 주제를 탐색하거나 관련 연구를 빠르게 파악해야 하는 단계에서는 논문을 “완벽하게 읽는 것”보다 “빠르게 구조를 파악하는 것”이 더 중요하다.

최근에는 ChatGPT와 같은 생성형 AI를 활용해 논문 리뷰를 훨씬 효율적으로 수행할 수 있다. 다만 AI에게 논문을 통째로 넣고 “요약해줘”라고만 요청하면 좋은 결과를 얻기 어렵다.

논문 리뷰에서 중요한 것은 단순 요약이 아니라, 논문의 문제의식, 기존 연구와의 차이, 핵심 아이디어, 실험 설계, 한계점을 구조적으로 파악하는 것이다.


먼저 알아야 할 것: ChatGPT는 논문을 대신 읽어주는 도구가 아니다

ChatGPT는 논문 리뷰를 도와줄 수 있다. 하지만 논문을 대신 읽어주는 도구라고 생각하면 안 된다.

AI는 다음과 같은 일을 잘한다.

  • 긴 논문의 구조를 빠르게 정리하기

  • 어려운 개념을 쉬운 말로 바꾸기

  • 실험 결과에서 봐야 할 포인트를 알려주기

  • 기존 연구와의 차이점을 정리하기

  • 후속 연구 아이디어를 제안하기

하지만 다음과 같은 일은 사람이 직접 확인해야 한다.

  • 논문이 실제로 새로운 아이디어를 제시했는가?

  • 실험 설계가 타당한가?

  • 비교 대상이 적절한가?

  • 저자의 주장이 과장되어 있지는 않은가?

  • 내 연구와 연결했을 때 의미 있는가?

즉, ChatGPT는 논문 리뷰의 “대체자”가 아니라 “보조 연구원”에 가깝다.




1단계: 논문을 한 문장으로 요약하게 하기

가장 먼저 해야 할 일은 논문의 전체 방향을 잡는 것이다. 이때는 ChatGPT에게 긴 요약을 요구하기보다, 논문의 핵심을 한 문장으로 정리하게 하는 것이 좋다.

바로 쓸 수 있는 프롬프트

이 논문의 핵심 기여를 한 문장으로 요약해줘.
단, 방법론 이름만 나열하지 말고, 어떤 문제를 어떤 아이디어로 해결하려는 논문인지 설명해줘.

좋은 논문 리뷰는 “이 논문은 무엇을 했다”에서 끝나지 않는다.
“왜 이 문제가 중요했고, 기존 방법은 무엇이 부족했으며, 이 논문은 어떤 방식으로 그 문제를 해결하려 했는가”까지 파악해야 한다.

따라서 첫 단계에서는 다음 질문에 답할 수 있어야 한다.

  • 이 논문이 다루는 문제는 무엇인가?

  • 왜 이 문제가 중요한가?

  • 이 논문의 핵심 아이디어는 무엇인가?

이 세 가지가 명확하지 않다면 아직 논문을 제대로 이해한 것이 아니다.


추천 사이트 1: Google Scholar

논문을 찾을 때 가장 기본적으로 사용할 수 있는 사이트는 Google Scholar다.
Google Scholar는 논문, 학위논문, 책, 초록 등 다양한 학술 자료를 폭넓게 검색할 수 있는 서비스다.

활용 방법은 간단하다.

  1. 관심 키워드를 검색한다.

  2. 최근 3~5년 논문을 우선 확인한다.

  3. 인용 수가 높은 논문을 확인한다.

  4. 관련 논문과 후속 논문을 따라간다.

  5. 찾은 논문을 ChatGPT로 구조화해서 리뷰한다.

예를 들어 “Graph Neural Network survey” 또는 “LLM agent survey”처럼 검색하면 해당 분야의 전체 흐름을 잡는 데 도움이 된다.


2단계: 기존 연구의 한계를 정리하기

논문은 대부분 기존 연구의 한계에서 출발한다. 따라서 논문 리뷰에서 가장 중요한 부분 중 하나는 “기존 방법이 왜 부족했는가”를 이해하는 것이다.

바로 쓸 수 있는 프롬프트

이 논문에서 지적하는 기존 연구의 한계를 3가지로 정리해줘.
각 한계가 왜 중요한지도 함께 설명해줘.

여기서 주의할 점은 AI가 정리해준 내용을 그대로 믿으면 안 된다는 것이다. 반드시 Introduction과 Related Work 부분을 다시 확인해야 한다.

ChatGPT는 문맥을 잘 정리해주지만, 논문에 없는 내용을 그럴듯하게 만들어낼 수도 있다. 따라서 AI의 답변은 “최종 정답”이 아니라 “읽기 가이드”로 활용하는 것이 좋다.




추천 사이트 2: Semantic Scholar

Semantic Scholar는 AI 기반 학술 검색 도구로, 과학 문헌을 검색하고 관련 연구를 찾는 데 유용하다. Semantic Scholar는 스스로를 “무료 AI 기반 과학 문헌 검색 도구”라고 설명하고 있으며, 연구자가 관련 논문을 발견할 수 있도록 돕는 기능을 제공한다.

활용하기 좋은 경우는 다음과 같다.

  • 특정 논문의 관련 논문을 찾고 싶을 때

  • 인용 관계를 확인하고 싶을 때

  • 비슷한 주제의 최신 논문을 찾고 싶을 때

  • 논문 초록과 핵심 정보를 빠르게 훑고 싶을 때

Google Scholar가 넓게 찾는 도구라면, Semantic Scholar는 논문 간 관계와 관련 연구 탐색에 유용한 도구라고 볼 수 있다.


3단계: 핵심 방법론을 쉬운 비유로 설명하게 하기

논문의 방법론 부분은 가장 어렵게 느껴지는 부분이다. 특히 수식, 알고리즘, 모델 구조가 복잡한 논문일수록 처음부터 세부 구현을 이해하려고 하면 쉽게 지친다.

이럴 때는 ChatGPT에게 먼저 쉬운 설명을 요청하는 것이 좋다.

바로 쓸 수 있는 프롬프트

이 논문의 핵심 방법론을 학부 3학년 학생도 이해할 수 있도록 쉽게 설명해줘.
가능하면 비유를 사용해서 설명해줘.

예를 들어 Graph Neural Network 논문이라면 “노드가 이웃 노드의 정보를 어떻게 모으는가”를 중심으로 설명할 수 있다.

RAG 논문이라면 “모델이 기억하고 있는 지식만 사용하는 것이 아니라, 외부 문서를 검색해서 답변에 활용하는 구조”로 설명할 수 있다.

중요한 것은 처음부터 모든 수식을 이해하려고 하지 않는 것이다. 먼저 직관을 잡고, 그 다음 수식과 알고리즘을 확인하는 순서가 훨씬 효율적이다.




추천 사이트 3: Connected Papers

Connected Papers는 특정 논문과 관련된 논문들을 시각적으로 탐색할 수 있는 도구다. 공식 소개에서도 연구자와 응용 과학자가 관련 논문을 찾고 탐색할 수 있도록 돕는 시각화 도구라고 설명한다.

이 사이트는 특히 다음 상황에서 유용하다.

  • 어떤 논문이 해당 분야에서 중심 논문인지 알고 싶을 때

  • 비슷한 논문들이 어떤 그룹으로 묶이는지 보고 싶을 때

  • 연구 주제의 흐름을 그래프 형태로 보고 싶을 때

  • 논문 하나를 출발점으로 관련 연구를 확장하고 싶을 때

논문 리뷰 글을 쓸 때 Connected Papers 화면을 참고하면, “이 논문이 어떤 연구 흐름 안에 있는지” 설명하기 좋다.


4단계: 실험 결과에서 봐야 할 포인트 찾기

논문 리뷰에서 실험 결과는 단순히 “성능이 좋다”를 확인하는 부분이 아니다.

좋은 리뷰를 위해서는 다음 질문을 던져야 한다.

  • 어떤 데이터셋에서 실험했는가?

  • 비교 대상 모델은 적절한가?

  • 성능 향상이 충분히 의미 있는가?

  • ablation study가 있는가?

  • 이 방법이 잘 되는 조건과 잘 안 되는 조건은 무엇인가?

바로 쓸 수 있는 프롬프트

이 논문의 실험 결과에서 가장 중요하게 봐야 할 포인트를 정리해줘.
단순히 성능이 높다는 설명이 아니라, 실험 설계가 타당한지, 비교 모델이 적절한지, 한계는 무엇인지 중심으로 설명해줘.

이 질문을 사용하면 단순 요약보다 훨씬 깊이 있는 리뷰가 가능하다.

특히 대학원생이라면 실험표에서 최고 성능만 보는 습관을 버려야 한다. 논문에서 중요한 것은 “몇 퍼센트 올랐는가”만이 아니라, “왜 올랐는가”, “어떤 조건에서 올랐는가”, “그 차이가 정말 의미 있는가”이다.





추천 사이트 4: Elicit

Elicit은 논문 검색, 요약, 데이터 추출, 논문과의 대화 기능을 제공하는 AI 연구 도구다. 공식 소개에 따르면 Elicit은 1억 2,500만 개 이상의 논문을 대상으로 검색, 요약, 데이터 추출, 채팅 기능을 제공한다.

Elicit은 특히 문헌조사 단계에서 유용하다.

활용 예시는 다음과 같다.

  • 특정 연구 질문과 관련된 논문 찾기

  • 여러 논문의 공통점 정리하기

  • 논문별 데이터셋, 방법론, 결과를 표로 정리하기

  • 리뷰 논문을 쓰기 전 후보 논문 모으기

다만 AI 기반 도구이기 때문에 결과를 그대로 믿기보다는, 반드시 원문 논문을 확인하는 과정이 필요하다.


5단계: 내 연구와 연결되는 지점 찾기

논문 리뷰의 마지막 단계는 내 연구와 연결하는 것이다. 단순히 논문 내용을 정리하는 것에서 끝나면 지식은 쌓이지만 연구 아이디어로 이어지기 어렵다.

바로 쓸 수 있는 프롬프트

이 논문의 아이디어를 내 연구 주제에 적용한다면 어떤 방향이 가능할지 제안해줘.
특히 후속 연구 아이디어, 개선 가능한 한계점, 다른 도메인에 적용 가능한 부분을 중심으로 정리해줘.

이 단계가 논문 리뷰에서 가장 중요하다.

논문을 많이 읽는 것보다 중요한 것은, 읽은 논문을 바탕으로 새로운 질문을 만드는 것이다.

좋은 논문 리뷰는 다음과 같은 문장으로 끝날 수 있어야 한다.

이 논문은 A 문제를 B 방식으로 해결했다.
하지만 C 상황에서는 여전히 한계가 있다.
따라서 내 연구에서는 D 방향으로 확장해볼 수 있다.

이 정도까지 정리할 수 있다면 단순한 논문 요약을 넘어, 실제 연구 기획으로 이어질 수 있다.




마무리: 논문 리뷰의 목적은 요약이 아니라 질문 만들기다

ChatGPT를 잘 활용하면 논문 읽는 시간을 줄일 수 있다. 하지만 더 중요한 것은 줄어든 시간을 이용해 더 깊은 질문을 던지는 것이다.

논문 리뷰의 목적은 논문 내용을 외우는 것이 아니다.

좋은 연구 질문을 만들기 위해 논문을 읽는 것이다.

ChatGPT는 논문을 빠르게 이해하도록 도와줄 수 있다. 하지만 논문이 정말 좋은 논문인지, 내 연구와 연결될 수 있는지, 실험 설계가 타당한지는 결국 연구자가 판단해야 한다.

따라서 ChatGPT를 활용한 논문 리뷰는 다음과 같이 정리할 수 있다.

AI에게 논문을 대신 읽게 하지 말고,
AI를 활용해 더 좋은 질문을 만들어야 한다.

이것이 ChatGPT 시대에 대학원생이 논문을 읽는 가장 현실적인 방법이다.

2025년 2월 2일 일요일

추상클래스 vs 인터페이스 (인터페이스 default 메서드만 사용하는 이유)


추상 클래스 (abstract class)"상속"을 통한 코드 재사용이 필요할 때 사용
인터페이스 (interface)"구현 강제"가 필요하거나 다중 상속이 필요할 때 사용

➡ 일반적으로 "행위(기능)"를 정의하고 싶으면 인터페이스, "공통된 상태 + 동작"을 포함하려면 추상 클래스를 사용


왜 인터페이스는 default 메서드만 가능할까?

인터페이스는 원래부터 "설계도" 역할을 하며, 구현을 강제하는 용도로 만들어졌습니다.
즉, "어떤 기능을 제공할지 정의"하는 역할을 하며, 객체의 상태를 관리하지 않습니다.
따라서, 원래는 추상 메서드(abstract 메서드)만 허용되었고, 구현된 메서드는 가질 수 없었습니다.

그러나 Java 8부터 default 메서드가 추가된 이유는 "기존 인터페이스의 호환성 유지" 때문


인터페이스에서 일반 메서드를 허용하지 않는 이유

  1. 다이아몬드 문제 (Diamond Problem) 방지

    • 다중 상속 시, 같은 메서드를 여러 인터페이스에서 정의하면 충돌이 발생할 수 있음.
    • default 메서드는 명시적으로 오버라이드할 수 있도록 하여 문제 해결.
  2. 객체의 상태를 가지지 않음 (Stateless 원칙 유지)

    • 인터페이스는 본래 "무엇을 해야 하는지"만 정의하는 역할.
    • 상태(멤버 변수)를 가지면 클래스와 구분이 어려워지고 역할이 모호해짐.
  3. 기존 인터페이스와의 호환성 유지 (Backward Compatibility)

    • Java 8 이전에는 인터페이스에 새로운 메서드를 추가하면 모든 기존 구현체에서 컴파일 오류 발생
    • 이를 방지하기 위해 default 메서드를 도입하여 기본 구현을 제공할 수 있도록 함.




추상클래스

예제: 추상 메서드 없이 추상 클래스


abstract class MyAbstractClass { void concreteMethod() { System.out.println("This is a concrete method."); } }

위 클래스는 추상 메서드가 없지만, abstract 키워드가 붙었기 때문에 객체를 직접 생성할 수 없음


그렇다면, 왜 추상 메서드 없이 추상 클래스를 만들까?

  1. 객체 생성을 막기 위해
    abstract 키워드를 사용하면 해당 클래스를 직접 인스턴스화할 수 없도록 제한할 수 있습니다.

  2. 공통된 기능을 하위 클래스에서 사용하도록 하기 위해
    → 추상 클래스는 일반 메서드를 포함할 수 있으므로, 공통 기능을 제공하고 상속만 허용할 수 있습니다.


 예제: 상속 후 객체 생성

class SubClass extends MyAbstractClass {
// 추가 기능 정의 가능 } public class Main { public static void main(String[] args) { SubClass obj = new SubClass(); // 객체 생성 가능 obj.concreteMethod(); // "This is a concrete method." } }

- MyAbstractClass는 인스턴스를 직접 만들 수 없지만,
- SubClass가 상속받으면 객체 생성이 가능





2022년 1월 11일 화요일

v-list-item-group 주의점

 v-list-item-group 사용시 v-model을 활용하여 선택된 데이터를 관리한다.


이 때, 관리되는 데이터는 Array 여야만 하고,  선택 된 리스트의 순서(인덱스)가 저장 됨.


v-list-item의 항목을 동적으로 변화시키는 과정에서 v-model의 값이 의도하지 않는 값으로 세팅되는 현상 발생..


해결법 :  v-list-item의 key 값을 index 값으로 할당하여야 정상 작동.. 

아무 생각 없이 list 값들 (항목들)이 고유해서 해당 값을 그대로 key 값으로 사용했었는데.. 

idx로 key를 변경하니 정상작동.. 개빡..


<기존 코드>


     <v-list-item-group

      v-model="fil.selected"

       multiple

     >

     <v-list-item  v-for="(v, k) in fil.list" :key="k" active-class="text--accent-4"  >


<변경 코드>

    <v-list-item-group

      v-model="fil.selected"

       multiple

     >

     <v-list-item  v-for="(v, k, idx) in fil.list" :key="idx" active-class="text--accent-4"  >


사소하지만 오랜 시간 걸린 버그다 --.. v-model에 들어가는 값 수정만 몇번을 했는지.. 에휴-오늘의 삽질 끝

2022년 1월 10일 월요일

쿠버네티스 클러스터 - (Google Cloud Platform)

 2022/01/11 현재 일자 기준 구글 클라우드 플랫폼기반으로 간단한 쿠버네티스 클러스터 구성과 쿠버네티스 웹 UI 연결까지를 정리한다.


GCP는 첫 가입시 일정기간 무료로 사용 가능.


간단하게 프로젝트를 하나 생성 (이름은 아무거나..)


왼쪽 상단 메뉴바를 클릭하면 아래쪽에 Kubernetes Engine 항목 선택



Kubernetes 클러스터 만들기 선택 (UI상으로 쉽게 만들 수 있음)



GKE standard 선택 


클러스터  위치, 이름 설정 (위치(리전)만 바꾸어서 실행 했다..)



조금만 기다리면 클러스터 상태가 초록색으로 변함



클러스터를 눌러보면 클러스터의 세부 정보가 나오고,  웹 UI 연결을 위해서는 클러스터에서 설정을 해야되기 때문에 쉘 연결을 해야한다. 이때 구글은 Cloud Shell이라는 기능을 제공하는데 이를 통해 클러스터에 연결 가능하다.



Cloud Shell에서 실행을 선택



웹 아래 쪽에서 Shell 창이 생기고 승인 버튼이 생긴다.
(승인 누르면 된다. - 가끔 구글 로그인 요청이 다시 생길 수 있다)


쿠버네티스 웹 UI(대쉬보드) 실행시키기 위해서는 다음과 같은 명령어를 수행
(참고 : https://github.com/kubernetes/dashboard)


대쉬보드 서비스 생성 (8001포트로 자동 생성 된다)


Localhost로 연결을 할 수는 없기 때문에 Cloud Shell 제공 기능을 활용해야한다.
Shell의 우측 상단에 세 번째 버튼을 누르면 xxxx포트에서 미리보기를 통해 웹 UI에 연결 가능한다. 포트를 8001 포트로 접속해야 되기 때문에 포트 변경을 선택한다.


                        포트를 8001 포트로 변경 후 변경 및 미리보기를 선택한다.


접속을 하게 되면  JSON이 리턴 되는 화면이 생성되고, URL을 변경해야한다.


/?authuser=0 부분을 아래와 같이 변경한다.
(api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login)

(참고 : https://github.com/kubernetes/dashboard)


URL을 변경하고 접속하면 쿠버네티스 대쉬보드가 연결 되고, 연결을 위한 Token을 입력하라는 창이 생성된다. Token은 Cloud Shell에서 다시 확인 가능하다.

기존 창은 대쉬보드 웹 서비스가 실행된 상태이기 때문에, +버튼을 눌러 새로운 Shell 창을 연다.


                            kubectl config view를 통해 Token 확인 가능하다    


    아래쪽에  access-token 뒷 부분을 복사하고, 웹 Token 입력 창에 입력하여 연결한다.


정상적으로 웹 UI에 접속이 된다. 관리 중 컨테이너가 없어 별다른 내용은 안나온다.

쿠버네티스 클러스터로 생성되었기 때문에 클러스터 내의 노드 정보(성능 메트릭)는 확인 할 수 있다.


이상, 구글 클라우드 플랫폼을 활용한 쿠버네티스 클러스터 구성 및 대쉬보드 확인 방법을 정리하였다.

쿠버네티스 책을 보면서 설정을 하려다보니 잘 실행되지 않아 별도로 수행한 결과를 기록해본다.. 


2019년 9월 3일 화요일

Fedora30 MongoRocks 3.4 설치

- GCC version 9.1.1
- Python 2.7.3

//경우에 따라서 bzip-devl, libcurl-devel, snappy-devel 등을 yum 혹은 dnf 로 install 해야 함


MongoRocks - 3.4 설치 방법

1. RocksDB 설치 및 빌드

//다운로드
git clone -b 5.1.fb https://github.com/facebook/rocksdb.git

//빌드 -> -j는 옵션. 없어도 상관없음
cd rocksdb
CFLAGS=-fPIC CXXFLAGS=-fPIC
make static_lib -j 8
INSTALL_PATH=/usr make install -j 8
make shared_lib -j 8
cd ..


2. MongoRocks 설치

git clone -b v3.4 https://github.com/mongodb-partners/mongo-rocks

3. MongoDB 설치

git clone -b v3.4 https://github.com/mongodb/mongo.git


4. MongoRocks 빌드

mkdir -p mongo/src/mongo/db/modules
cd mongo/src/mongo/db/modules
ln -sf ../../../../../mongo-rocks rocks
cd ../../../../

//gcc 5.4
scons

//5.4보다 버전이 높을 경우
scons --disable-warnings-as-errors

//혹은 .. 여기서도 -j n 옵션으로 속도 올릴 수 있음
buildscripts/scons.py mongod --disable-warnings-as-errors


//MongoDB가 버전이 많아서 dependency를 먼저 설치해야하는 경우도 많은데 3.4버전은
pip install -r buildscripts/resmokelib/requirements.txt

//Master 버전은..
pip3 install -r etc/pip/compile-requirements.txt

//해당 정보는 mongo/docs/building.md 를 참조


5. 실행
//정상적으로 빌드하였다면 (다행..) mongod 파일이 생성되고 해당 파일로 mongoDB를 실행가능

//기본 저장디렉토리 생성 및 rocksdb storage 엔진으로 사용 (default가 WiredTiger이기 때문에 지정해주어야 함)
mkdir -p /data/db
./mongod --storageEngine=rocksdb



6. 기타 에러
// Compression type Snappy is not linked with the binary. at src/mongo/db/modules/rocks/src/rocks_engine.cpp 208  등 같은 에러는 compress 라이브러리를 바꾸어서 실행하면 됨
--rocksdbCompression arg (arg => none, snappy, zlib, lz4, lz4hc, mongod --help로 확인 후 입력) 

//간혹이 아니라.. 빌드가 안되는 상황이 많을 수 있음.. 이때는 보통 rocksdb의 빌드 문제가 많음 mongo-rocks의 git에서는 다음과 같은 형식으로 설치하고 있음 

cd rocksdb; USE_RTTI=1 CFLAGS=-fPIC make static_lib; sudo INSTALL_PATH=/usr make install; cd ..
//재빌드하기전에 make clean 및 /usr/lib/librocksdb.a 파일, /usr/include/rocksdb 폴더 삭제 후 재빌드 권장 (사실 안해도 될수도 있음...)



++ 9/18 추가

requirements 설치 중 에러 1.

‘/usr/lib/rpm/redhat/redhat-hardened-cc1’: No such file or directory


=> dnf install redhat-rpm-config


requirements 설치 중 에러 2.

Python.h: No such file or directory

=> dnf install python2-devel





2019년 7월 17일 수요일

WIN10 - Intel OpenCL SDK - Eclipse CDT(MinGW)

Win 10에서 이클립스 환경에서 OpenCL을 테스팅하기 위한 환경 설정 내용입니다.

간략하게 캡쳐 사진 위주로 설명하겠습니다.

1. Intel OpenCL SDK 설치 (CPU 제조사에 맞는 SDK 설치- Intel 외 제조사는 테스트 필요)
https://software.intel.com/en-us/opencl-sdk/choose-download



2.  sdk 설치 위치 확인 - 추후 라이브러리 지정에 사용
(C:\Program Files (x86)\IntelSWTools\OpenCL\sdk) -환경마다 다를 수 있음


3.  이클립스 설치 - (CDT 환경의 이클립스라면 CDT 설치 부분을 건너띄어도 됨)

(https://www.eclipse.org/downloads/)



4. CDT 설치 - CDT 환경이 없다면..





5.  이클립스 재실행 후 CDT 환경 확인 - perspective를 변경하여 c/c++이 존재하는지 확인



6. C/C++ 프로젝트 생성



7. 각 컴퓨터에 맞는 GCC 컴파일러 환경에 맞게 프로젝트 생성
  (MinGW 컴파일러 설치는 본 블로그에서 다루지 않음 -> 다른 블로그에 해당 내용이 많음)



8. 프로젝트 환경설정에서 include / linker(library) 설정
(2번 단계에서의 SDK 디렉토리를 입력 - 특히 링커 설정에서는 아래쪽에서는 path를 입력하고 위쪽에서는 OpenCL 을 입력해야 함)




9. OpenCL 구동 확인을 위해서 예제 .cpp 파일과 .cl 파일을 생성



10. 빌드 후 실행 (ctrl + b, ctrl + f11)
 (콘솔에 결과가 출력 됨을 확인 => 각 커널 함수에서 printf 문을 사용하더라도 이클립스 콘솔에서 확인 가능)




11. OpenCL 공부하기 (가장 힘든 작업...🌟)