Author Archives: Admin

[CUDA RT Series 8] Metal

목차: Series 1 – Index + Methodology (Link)이전 글: Series 7 – Iteration vs. Recursion (Link)다음 글: Series 9 – Dielectrics + Snell’s Law (Link) 출처 1에서 출처 2의 Chapter 8 내용부터는 추가적인 설명 없이 코드만 공유하고 있다. Chapter 8부터는 앞에 설명한 내용을 기반으로 CUDA 코드를 작성하면 된다고 한다. 그래서 Series 8부터는 변경된 코드 부분과 성능에 대해서만 간단히 작성할 계획이다.… Read More »

[Synology NAS] 웹소켓 설정 (Setting WebSocket)

Jupyter Notebook을 설치하고 역방향 프록시(Reverse Proxy)를 사용해서 Web 주소를 내부 서버의 특정 포트로 연결하는 과정에 웹소켓(WebSocket)에 대해서 알게 되었다. 기존에 작성한 글(출처 2)과 같이 Reverse Proxy만 설정하게 되면 Jupyter Notebook에 접속은 가능하다. 하지만, “Terminal”, “Python Kernel” 등에 제대로 접속을 하지 않는다. 인터넷을 찾아보니 Jupyter Notebook 역방향 프록시를 사용하기 위해서는 웹소켓 설정을 해야 한다고 한다 (출처… Read More »

[Linux-Ubuntu] Python 버전 변경

실험환경: Ubuntu 14.04 & Ubuntu 18.04 Ubuntu Linux에서 Python 버전을 변경하는 방법을 정리하였다. 모든 자료는 출처 1에 기준으로 작성하였다. 가장 먼저 아래 CMD를 실행해서 등록된 Python이 있는지 확인한다.  “//MK”는 주석을 의미하고, “$” 뒤에 있는 CMD는 Terminal에 실행해야 하는 부분이다. 만약 아래와 같은 에러 메시지가 나오면 등록된 Python이 없다는 의미이다.  그림1과 같은 에러 메시지가 나올 경우 아래와 CMD를… Read More »

[Linux-Ubuntu] Samba 공유 폴더 설정

실험 환경: Ubuntu 14.04, Ubuntu 18.04 Linux(Ubuntu)와 Window 사이에 파일을 공유(?)하기 위해서 Samba를 사용해서 공유 폴더를 설정한다. 아래 코드에 따라 실행하면 간단히 공유 폴더를 설정할 수 있다. “#”뒤는 주석이며, “$”뒤는 터미널에서 실행해야 하는 CMD이다. “#—#”안의 내용은 smb.conf 파일 마지막 부분에 작성해야 하는 코드이다. 모든 코드를 작성 후 Samba Service를 다시 실행하면 된다. 위와 같이 설정 완료 후 윈도우에서… Read More »

[Linux-Ubuntu] Python 빌드 및 설치 하기

실험환경: Ubuntu 18.04, Ubuntu 14.04 + Python 2.7.10 빌드 및 설치 Ubuntu Linux의 경우 보통 “apt-get install python2.7.” 와 같은 CMD를 사용해서 Python을 설치할 수 있다. 하지만 모든 Python 버전을 앞의 CMD를 사용해서 설치할 수는 없다. 다른 버전이 필요한 경우 직접 빌드해서 설치를 진행해야 한다. 출처 1을 참조하여서 Python을 빌드하고 설치하는 방법에 대해서 정리하였다. 아래… Read More »

[Bash] 함수(Function) 사용하기

목적: 함수를 사용해서 결과 Return 하기 환경: Ubuntu 18.04 결과 설명 Bash에서 Function은 FUNC_NAME() { …코드… } 형태로 작성을 하면 됨 “$1”, “$2” 순서로 Function Parameter를 받을 수 있음  “$?”를 사용해서 함수 Return 값을 가져옴 Return의 경우 정수만 Return 할 수 있는 것으로 판단됨. String을 Return 하고 싶은 경우 Global Variable을 생성해서 결과를 저장하는 방식을… Read More »

[Bash] 현재 시간 출력하기

목적: 현재 시간을 알기 위해서 사용 환경: Ubuntu 18.04 코드 결과 설명 date +’FORMAT’ 을 사용해서 원하는 시간, 날짜 등을 확인 할 수 있음 (주의 사항) “date” 다음에 Space가 있어야 하며 +’FORMAT’에는 Space가 있으면 안 됨 FORMAT의 종류는 년도, 월, 일, 시간, 초 등 아주 다양함 (상세한 Format 종류는 출처 2 참조) 출처 https://www.cyberciti.biz/faq/how-to-read-time-in-shell-script/ https://www.cyberciti.biz/faq/unix-linux-getting-current-date-in-bash-ksh-shell-script/

[Bash] If/Else 조건문(Condition) 사용 방법

목적: if/else Condition(조건문)을 사용하는 방법 정리 환경: Ubuntu 18.04 코드 결과 설명 while true, if [ … ], 다음에 있는 “;”은 줄 바꿈을 하지 않고 사용하기 위해서 사용함. “do”, “then”을 줄바꿈해서 사용하는 경우 “;”를 제거해도 됨 if, elif, else 순서로 작성을 해야 함. if, elif 다음에는 “then”을 추가 후 코드를 작성해야 함  Condition(조건문)은 [ ]… Read More »

[CUDA RT Series 7] Iteration vs. Recursion

목차: Series 1 – Index + Methodology (Link)이전 글: Series 6 – It’s All Random (Link)다음 글: Series 8 – Rest of the Chapters (Link) Diffuse Material을 계산하기 위해서 작성한 CPU Color Function(함수)는 Recursive Function(재귀 함수)을 사용한다. 해당 코드를 CUDA로 변경하면 Stack Overflow가 발생할 확률이 매우 높다. 출처 3에 따르면 CUDA의 경우 최대 24번의 Recursive Function 호출이 가능하다고 한다. Diffuse Material… Read More »