Zzong's Notes

방문

Home

❯

프로그래밍

❯

Floating Data Types

Floating Data Types

최초 작성 2026-06-14마지막 수정 2026-10-23읽는 데 1분

노트 편집 ↗

Here are the commonly used floating point data types choice of which impacts both memory usage and throughput:

  • fp32 (float32)
  • fp16 (float16)
  • bf16 (bfloat16)
  • tf32 (CUDA internal data type)

References

  • Performance and Scalability: How To Fit a Bigger Model and Train It Faster

함께 보면 좋은 글

mixed precision

mixed precision 은 모델 학습시 FP16, FP32 부동 소수점 유형을 상황에 따라 유연하게 사용하여 학습을 더 빠르게 실행하고 메모리를 적게 사용하는 방법이다. Forward, Backward Propagation 은 모두 FP16 으로 연산하고, weight 를 업데이트 할 때에는 다시 FP32 로...

Kernel Fusion

GPU 는 Kernel 단위로 연산이 이루어 지게 됩니다. 예를 들어 우리가 두개의 텐서를 서로 MatMul 후에 Add 하는 연산을 수행할 때, Matmul Kernel, Add Kernel 이렇게 두개의 커널을 실행하게 됩니다. 이때 두개의 커널을 실행하는 대신 두개의 커널을 MatmulAdd 라는 하나의...

GPU Programming

CUDA같은 공부 하고싶으면 보는 사이트 - WebGPU Puzzles

Hash

Hash 는 임의 길이의 입력을 고정된 크기의 값으로 매핑하는 함수 또는 그 결과값을 말한다. 자료구조에서는 key 를 빠르게 찾기 위해 hash function 을 사용하고, security 문맥에서는 password 저장이나 무결성 확인에 사용한다.

Fully Sharded Data Parallel

GPU 의 개수가 1 인 경우 발생하는 이슈로, config 에서 process 개수를 GPU 개수만큼 바꿔주자.

data type of C++

size t : 해당 시스템에서 어떤 객체나 값이 포함할 수 있는 최대 크기의 데이터를 표현하는 타입 즉, x86 은 32 비트, x64 는 64 비트 변수가 됨 반드시 unsigned 형 long (long int) : a signed integer type with 32 bits int64 t : a...

FP8 Quantization

FP8 Quantization은 LLM의 weight, activation tensor, 때로는 KV cache를 8-bit floating point로 낮춰 inference 비용을 줄이는 방법이다.

CUDA

CUDA에서 병렬 처리를 효율적으로 수행하기 위해서는 Blocks 와 Threads 를 적절히 결합하는 것이 중요합니다. 각 Block은 여러 Thread로 구성되며, 이들은 GPU 상에서 병렬로 실행됩니다.

Parallelism

Megatron-DeepSpeed 는 대규모 모델을 효율적으로 학습시키기 위해 3D 병렬 처리 방식을 구현합니다. 여기서는 이 3D 병렬 처리의 주요 구성 요소들을 간단히 설명하겠습니다.

overloading

함수 의 이름은 같으나 함수의 매개변수 숫자, 타입등을 달리해서 다르게 사용하는것을 의미