12월 2주차 WIL

squareyun·2022년 12월 15일
0

WIL

목록 보기
5/5
post-thumbnail

남을 행복하게 하는 것은 향수를 뿌리는 것과 같다. 뿌릴 때는 자기에게도 몇 방울 정도는 묻기 때문이다.
-탈무드-

5 MON (3h 35m)

💨 1시간 공부해야하더라도 일단 집 밖으로 나가자.

  • SSAFY 면접 준비
    • 지난 면접 스터디 질문에 대한 답변 정리
    • 메타버스 PT 면접 준비
  • 기계학습개론
    • CNN
    • receptive field
    • padding(valid, same), stride
    • filters
    • feature maps. representation learning.
    • pooling layer
      • Goal: subsample
      • introduces some level of invariance to small translations.

6 TUE (6h 26m)

🤫 면접 날짜와 기계학습개론 시험 날짜가 겹쳐 버렸네.

  • SSAFY 면접 준비
    • PT 면접 준비: 인사 → 주제강조 및 발표내용 요약 → 전략(간단하게) → 고려요인 → 전략(구체적으로) → 예상되는 어려움 → 극복방안 → 마무리 전체 요약
    • 면접 관련 영상

대규모 병렬 컴퓨팅

[Floating Point Numbers]

  • 실수의 표현
    • 고정 소수점 방식 (fixed)
    • 부동 소수점 방식 (IEEE 754)
  • IEEE 754
    • sign X mantissa X 2^exponent
    • sign: 1bit
    • exponent: excess-128 code
    • mantissa: normalization, denormalization
  • 정밀도 한계
    • naïve getSum()
    • imporved getSum()
  • float-safe 최적화: float용 함수에 f 붙이기
  • CUDA Runtime Math Library
    • __funcname(): intrinsic functions(내장함수)
    • -use_fast_math 컴파일러 옵션
  • sincosf(): sin, cos 한 번에 계산하는 함수
  • __fmaf_rn(): 반올림, __fmaf_rd(): 반내림

[atomic Operations]

  • 용도
    • race conditions 해결
      • 예제: 은행 통장 동시 update
      • 전통적인 해결책: memory locking
      • 새로운 해결책: atomic operations
    • global communication
  • 특징
    • hardware에서 지원하는 single step 연산
    • uninterruptable
    • NVCC with ‘—arch sm_XX’ option
  • atomic CAS operation
    • compare and swap
    • int atomicCAS(int* address, int old_value, int new_value);
    • int 형만 지원
    • float 사용하려면 int와 비트 수가 같으니 이것을 간접 이용
      • type reinterpretation intrinsic functions
      • __float_as_int(), __int_as_float()
      • type conversion intrinsic functions랑 다름 (__int2float_rd() 같은 것)
  • atomicAdd_system: system 내의 모든 GPU에 대해서 atomic
  • atomicAdd_block: thread-block 내의 thread 들에 대해서만 atomic

7 WED (5h 37m)

🐥 저번보다 조금 더 안정적인 면접 진행했다. 스터디는 효과적.

  • SSAFY 모의 면접
    • 시선 처리 정확하게
    • 제스쳐도 사용해보기
    • 장점, 단점 생각하기
      • 단점의 보완할 수 있는 점 생각해보기
    • 잘나면 들을 이유 없음. 부족한 점 어필하기

대규모 병렬 컴퓨팅

[histogram]

  • Image to matrix
  • histogram analysis (32-level)
    • 1byte 단위가 아니라, 4byte 단위로 처리해야 빠름
    • global memory에 바로 저장하는 것이 아닌, shared memory에 저장하여 atomicAdd_block() 함수를 사용하여 block version을 사용하면 빠름

[Reduction Problem]

  • reduction operation
    • 여러 숫자들을 종합해서 1개의 지표로 제시하는 것
    • 통계 분야에서 자주 발생
  • Sequential Reduction Algorithm
    • 전통적인 계산 방법
    • a single for-loop → O(n)
  • Parallel Reduction Tree Algorithm
    • number of operations → O(n)
    • number of steps → log(n) -단, 무제한 core 필요
    • work-efficient parallel algorithm
      • 추가 작업 없이 효과적으로 처리한다는 의미
    • 구현
      • global memory에서는 atomicAdd()
      • 쓰레드 블록 안에서 1024개 더할 때는 shared memory 안에서 토너먼트 알고리즘 적용
      • stride 계산

8 THU (7h 12m)

  • 대규모병렬컴퓨팅 시험 공부

9 FRI (6h 58m)

  • 대규모병렬컴퓨팅 시험 공부

10 SAT (4h 8m)

🤕 머리 아프다.

  • 대규모병렬컴퓨팅 시험
  • SSAFY 면접 준비
    • 클라우드 컴퓨팅
    • 핀테크
    • 장점, 단점 정리
  • 알고리즘2 시험 공부

11 SUN (day off)

  • 성탄 발표 준비
  • 휴식
profile
백엔드 엔지니어

0개의 댓글