포트폴리오

Last Edit: Sep-08-2023

Online 3D RPG GitHub

Skill: Unity4, C#, TCP/IP socket, 구현

고등학생때 친구들과 함께 만든 3D Online RPG입니다. 이 게임을 구현하면서 아래와 같은 것들을 배울 수 있었습니다.

  • 복잡한 게임의 설계 및 구현
  • 선형대수 관점의 3D 수학
  • TCP통신

Codebase3D GitHub

Skill: OpenGL, 선형대수

컴퓨터그래픽스강의(SSU-CG)을 듣고 저만의 3D그래픽스 codebase가 있으면 좋겠다고 생각하여 만든 프로젝트입니다. 기본적인 Model, View, Projection공간과 Scene트리에서 좌표계변환, 그리고 Inverse Bind Pose Matrix의 의미를 이해하고 직접 구현했습니다.

구현한 것

  • Scene Tree(Camera, etc.)
  • Mesh
  • Texture and Material
  • Skinning(CPU)

OpenVINO GitHub(PRs)

Skill: OpenCL, GPU구조, AI최적화

OpenVINO(Open Visual Inference and Neural network Optimization)는 다양한 인텔 하드웨어에서 딥러닝 모델을 최적화해주는 오픈소스 프레임워크 및 툴킷 입니다.

배운 것들

  • AI연산들의 이해, 구현, 최적화
  • GPU구조
  • 대규모 C++프로젝트에서의 디버깅 및 프로파일링
  • 협업능력(팀원과의 소통, Git 등)

Selected PRs

  • Quantize bugfix (#14176) [PPT]
  • Deconv bugfix (#13517) [PPT]
  • reduce_gpu_b_fs_yx_fsv16.cl bugfix (outside value of shape issue)(#15748)
    • 이슈의 원인을 분석하고 해결하여 PR을 제안했지만, 여러가지 검증할 것이 많아서 마무리하지 못하고 (#17477)에서 완료되었습니다. 최종 패치내용은 저의 해결책과 동일합니다.
  • Fix weight reorder bug (#15672)
  • Fix unit test: test_select_preferred_formats.setting_target_conv_format(#14837)

Snake Game RL GitHub(A2C) GitHub(PER-D3QN)

Skill: Reinforcement Learning, Pytorch

강화학습에 대해 공부한 내용을 스스로 이해했는지 검증해보는 차원에서 진행한 개인프로젝트입니다. 강화학습 환경부터 신경망구성, 학습알고리즘(A2C,PER-D3QN)까지 직접 pytorch만으로 구현했습니다. 에이전트가 human-level까지 학습되는것을 확인하고 프로젝트를 마무리했습니다.

Algorithm Problem Solving Baekjoon Online Judge Competitive Programming

Skill: Algorithm, Data Structure, Modern C++(20+)

ps.cpp

문제를 풀며 구현한 알고리즘과 자료구조 코드를 재사용가능한 형태로 추상화하여 관리하는 라이브러리입니다. 온라인저지에 제출할 수 있도록 header file 종속성을 위상정렬하여 하나의 파일로 합치는 기능을 제공합니다. 2018년부터 지금까지 꾸준하게 관리해오고 있습니다.

Blog GitHub

Skill: backend=Flask(python), frontend=HTML5+CSS3+jquery, infra=Google Cloud Platform

공부한 것들을 정리해서 올리기 위해 만든 개인블로그입니다. 깊이제한 없는 카테고리트리 및 답글을 구현하였습니다.