??? ??? ??? ???? ??? ???? ???? ??? ???? ??? ?????.??? ??? ?? ???? ????, ?? ???? ??? ?? ??? ??? ??? ? ??? ???? ??? ??? ??? ?????.? ??? ???? ??? ??? ?? ???? ?? ????? ? ????? ??? ? ??????.
??? ?? ??? ??? ???? ????? ?? ?????? ???? ????? ?? ?????.? ?????? Pony.ai? ?? ? ?? ??? ?? ?????? ??? ?????.
Pony.ai? ?? ???? ?? ?? ???, LiDAR ? ???? ?????. ???? ??? ??? ?????, ???? ??? ???? ?????, ?? ???? ??? ???, ?? ? ???? ????? ??? ?????.
? ??? ?? ????? ?? ??? ?? ? ??? ??? ????? ?? ?? ?? ???? ??? ? ????.

??? ?? ?????? ?? ??? ????? ????? ???. ??? ??? ??? ?????. ?? ??? ?? ???? ? ?? ???? ??? ??? ???.
??, ??? ???? ?? ? ??? ???? ???? ?? ???? ???? ?????. ?? ? ??? ????? ?? ???? ?? ??? ?? ???? ??? ???? ??? ?? ??? ????.
??, ???? ??? ???? ?? HW/SW ???? ?????? ???. ???? ?? ? ? ? ?? ??? ??? ???? ??? ????? ???? ?? ?? ????. ?? ?? ???? ?? ?????.
?? ???? ??? ??
Easing the b?? ?? ?????? ?? ??? ????? ??, GPU ???? ? GPU ???? ??? ?? ?? ??? ??????.
???? GPU?
Pony.ai ?? ?? NVIDIA? ?? ?? ??? ??? ?? ??? ??????. ??? ?? ? ???? ?? ??? ???? USB ? ??? ?? ??? ????? CPU? USB/??? ??????? ???? ?? ??? ????.

???/USB? ?? ??? ???? ???? ????? ? ????? CPU ???? ?????.
? ??? ? ????? ???? ???? ??? ?????. USB? ??? ??? ?????(GigE-camera)? CPU? ??????. ?? ? ?? ???? ???? ????? CPU? ??? ???? ?? I/O ??? ??? ? ?? ?????. ??? ?? ????? ????? ? ??? ????? ??????.
??? ???? LiDAR? FPGA ?? ?? ?????? ???? ??? ??????.

?? ?????? FPGA? ???? CPU I/O ??? ??????? PCIe? ?? DMA? ???? ?? ????? ?? ??? ? ?? ???? ??? ? ????.
FPGA? ??? ??? ? ??? ??? ???? ? ?? ?? ??? ?????. ?? ??? ??? ??? ??? ???? PCIe ??? ?? FPGA?? ? ???? ???? ???? ?? DMA ??? ??????. DMA ??? FPGA?? ?? ???? CPU? ?????. CPU? I/O ???? ??? ?? ??? ??? ?? ????? ??? ?? ?? ??? ?? ??? ?????.
??? ???? GPU?? ???? ?? ??? ??? ?? ????? FPGA?? CPU? DMA? ?? ??? ??? GPU ???? ????? ???. ??? ???? CUDA HostToDevice ??? ??? ????, FHD ??? ???? ??? ??? ?? 1.5ms? ?????.
??? ??? ? ????? ?? ???? ????. ?????, ??? ???? CPU? ?? ????? ?? GPU ???? ?? ????? ???.

??? ??? ?? FPGA-GPU RDMA? ???? PCIe ???? ??????. ? ????? CPU-GPU ??? ??? ???????. ?? ??? NVIDIA GPU Direct RDMA ??? Xilinx? XDMA ????? ???? PCIe Gen3 8??? FPGA-GPU ??? ?? 6GB/s? ??????.
NVIDIA GPU Direct RDMA? ???? ? ??? ??????.GPU Direct RDMA? ???? PCIe BAR(PCIe ?? ??? ?? ?? ???? ?? ?? ????)? ?? PCIe ??? ???? ? ?? CUDA ??? ??? ?? ??? ? ????.
?? ?? ?? ????? GPU ??? ??? ??? ?? ? ??? ??? ?? ?? API? ?????. ??? API? ?? ??? DMA ??? ? ???? ???? ??? ?? ??? GPU ???? ?? ???? ??? ?? ??? ???? ???.
GPU Direct RDMA? CPU ? ??? ???? ????? ??? ???? ??? 8GB/s? PCIe Gen3 8??? ?? 6GB/s? ???? ?????.
GPU ???? ??
??? ????? ???? ?? ?? ??? GPU? ??????. ???? GPU? ?? ? ?? ????? GPU ? ????? ?? ??? ??? ? ????. ???? ??? ?? CPU? ???? CPU ??? ???? ?? ???? ?????.
??? ??? ? ??? ?? ? ?? ?? ??? ???? PCIe ???? ??????.?? ? ?? ??? ?? ? PCIe ?? ??? ??? ? ???? ?? GPU?? ?? ? ?? ???? ?????.
?? ????? ??? ????
?? ???? CUDA ???? ???? ??? ?? ????? ?????? ?? ??? ??? ???????.
?? ?? FHD ??? ???? JPEG ???? ????? ?? NvJPEG ?????? RTX5000 GPU? ?? ?? CPU ????? ?? 4ms? ??? ???. NvJPEG? ??? ???? ?? ?? ??? ??? CPU? ?? ? ???? CPU ? GPU ???? ??? ? ????.

GPU??? JPEG ???? GPU ? CPU ???? ???? ?????. NvJPEG GPU ????? ??? CPU(??? ??? ? ???)?? ?? ??? ?????. CPU ??? 1?? NVIDIA RTX 5000? 4ms ?? ???? ??? FHD ???? JPEG? ??????. ?? ?? ?? ?? GPU ??? ?????.
??? CPU ? GPU(CUDA ??)? ??? ??? ? ???? ???? ??? ?? ? ??? ?? NVIDIA ??? ??? ??????. ? ??? GPU? ?? ???? ???? ?????. ?? GPU? ????? ?? ? ? ?? ??? ???? ? ???? ?? CUDA ???? ???? ????.
?? NVIDIA GPU? ?? ???? ??? ???? ???? ??? ?? ??? JPEG?? HEVC(H.265)? ??????????. ??? ??? ??? ?? ??? ?? CPU ? GPU ???? ?? ??????.
CUDA ??? ??? ??? ?? GPU?? FHD ???? ??? ????? ?? ?? 3ms? ?????. ??? I-??? ?? ???? ????, ?? ??? ?? ??? ??? ?? ????? ?????.

NVIDIA ??? ??? CUDA ?? ?? CPU? ???? ?? GPU ?? ?? ????? ???? ?????. NVENC? H264/H265? ?????. ??? FHD ???? HEVC? ????? ? ???? ??? ? 3ms??? GPU? CPU? ?? ??? ??? ? ????. I-??? ?? ??? ???? ? ???? ??? ??? ???? ??? ??? ????.
GPU?? ??? ??
? ?? ??? ??? ??? ???? ????? ?????? ???? ??? ??????.
??? Google? protobuf? ???? ???? ?????. CameraFrame ???? ?? ?? ?????. ??? ?? ? ??? ???? ?? ?????. protobuf? ?? ??? ?? ????(??? ???)? ? ??? ???? ??? ??? ???? ???.

?? ?? ??? ???? ??????. Protobuf? ???? ?? ???? ? ???? ??? ???.
message CameraFrame {
optional string device_name = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 pixel_format = 4;
optional bytes data = 5;
};
??? ???? DL ??? ????? CUDA H2D ??? ?????.
??? ??? ???? ?? ?? ?? ?? ?? ??? ??? ?? ????-??? ??? ?????. ? CameraFrame ???? ?? ??? ??? ??? ???? ???? ? ?? ??? ???.
?? ?????? ??? ??? ???? ??? ? ?? ?? ??? ???? GPU? ???? ?? CUDA HostToDevice ??? ??? ???? ????.

?? ??? ??? ???? ?? H2D ??? ?? ??, ? ???? ??? ?? ????! ?? ?? ????? GPU? ?? CPU?? ???? ?? ?? ???? ?????.
message CameraFrame {
optional string device_name = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 pixel_format = 4;
optional bytes data = 5;
};
?? ??? ???? ???? ?? ???? CUDA HostToDevice
??? ???? ???. ?? ?? ??? ?? ?????? CPU?? ? ????? ??? CPU-GPU ??? ??? ?????.
??? GPU ???? ??? ??? ????? ?? Protobuf codegen
????? ??????. ?? ?? ????? GPU?? ???? ?? ?? ???? ?????. GPUData
??? GPU ???? ????.
message CameraFrame {
optional string device_name = 1;
optional int32 width = 2;
optional int32 height = 3;
optional int32 pixel_format = 4;
optional GpuData data = 5;
};
??? ??? ???? GpuData
??? Protobuf? ???? API? ?? Protobuf ?? ???? ???? ? ??? ??????. GpuData
? CPU ??? bytes
??? ?? ?? resize
??? ?????. ??? ??? ??? ????? GPU? ????.
??? ??? ???? ??? ?? ???? ?? GPU ??? ???? ??? ? ????. ??? ?? ?? ??????? ?? ?? ??? ??????.
GPU ??? ?? ??
GpuData
???? resize
??? ????, ?? CUDA cudaMalloc
? ?????. GpuData
proto ???? ???? cudaFree
? ?????.
? ? API ??? GPU? ??? ?? ???? ?? ??? ??? ???? ????. ? ???? ?? 0.1ms? ??? ? ????.
? ??? ???? ???? ?? ?? ???? ???? ?? ????? ????? GPU ??? ????alloc/free
??? ????? ???.
? ??? ???? ?? ?? ?? ??? GPU ???? ??????. ????? ?????. ??? ??? ??? ??? ?? ??? ?? ?? ??? GPU ??? ??? ??? ???? ????. alloc
? ??? ??? ???? ??? ?? ?????. free
? ??? ??? ??? ?? ?????. GPU ???? ?? ?????? alloc/free
??? 0? ??????.
camera_frame.mutable_gpu_data()->Resize(size); ptr = pool->Alloc();
camera_frame destructs pool->Free(ptr);
?? ?? ???? ???? ????? ??? ?? ???? ? ?? ?? ??? ?? ???? ??? ? ?? ? ??? ????? ?? ??? ?? ??? ?? ??? ????? ???. ?? ??? ??? ?????.
CUDA 11.2? ??? ??? ? ??? ??????. ????? cudaMemPool
? ?????. ?? ?? ???? ??? cudaMalloc
? free
? ?????. ?? ??? ???? ? ?? ?? ??? ??? ???. ?? ?? ?? ?? ??(??? ?? 2us)?? ???? ?? ??? ? ????.
camera_frame.mutable_gpu_data()->Resize(size); pool->cudaMallocFromPoolAsync(&ptr, pool, ...);
camera_frame destructs pool->cudaFreeAsync(ptr);
? ????? resize
??? ??? ?? ?????? ?? cudaMalloc
? free
? ??????.
YUV ? ???? ? ??? ??? ??
??? ???? ?? ? ??? ????? ????? ???? ?? ???? ?? ?? ???? ??? ??? ??????. ?? ??? ??? ?? ??? ????? ????.
NVIDIA? ???? RGB ? ???? ??? ???? ???? ? ??????. ??? ???? ISP ??? YUV ? ??? ??? GPU?? YUV? RGB? ???? ?? 0.3ms? ?????. ?? ?? ?? ???? ? ??? ???? ????. RGB ?? ??? ???? ?? ?????.

??? ??? NVIDIA? RGB ??? ????? YUV ????? ??????????. ??? ??? ???? ??? ???? ??? YUV420 ?? ??? ????? ??????.
YUV420 ?? ??? ?????? GPU ??? ???? ???? ??????. ?? ?? ??? ???? ?? ?? ?? ??? Y ??? ?? ? ?? ?? RGB? ?? GPU ??? ???? 3?? 2? ??????.
GPU?? ??? ??? ??
??? ???? ??? ?? ??? ??? ???? ??? GPU?? ?????. ???? ??? ????? ????? ? ?????. ??? ??? ???? ??? ? ? ?? ???? ??????.
- ??? ?? ????? ?? ??? ??? ???? ????, ??? ????? ???? ?? ?? ??(Array of Structure) ?? GPU ???? ?? ??(Structure of Array)? ???? GPU ??? ??? ??? ???? ?? ? ???? ??????.
- CPU? GPU ?? ?? ??? ???? ?? ?? ?? ???? ?? ??? ?? ???? ?????.
- NVIDIA CUB ?????? ?? ?????, ?? ??/?? ??? ????? ?????.

GPU? ??? ??? ?? ?????? ?? ??? ?????.
- GPU ???? ?? ?? ??? ????.
- CPU-GPU ??? ????? ??? ?? ???.
- ??? ??? ?? 58% ?? NVIDIA CUB ????? ??.
??? ???? ?? ?? ????? ????? ?? ???? ?? 4ms ?? ? ?????.
?? ????
??? ?? ???? ?? ?? ???? ??? ??? ???? ??? ????? ? ? ????.
?? ????? ??? ??? ??? ????? GPU? ????? ????? ?????. ? GPU? ?? 80%? ?? ?? ????? GPU0 ? GPU1 ????? ??? ????? ????? ????. GPU 0? ?? ?? ?? ?? ??? ?? ?????. GPU 1? ?? ?? ?? ??? ?? ??? ? ????.
???? GPU ??? ?? ???? ? ??? ????.
?? ??
?? ??? FPGA? ?? ???? ?? ?? ??? ?? ???? ????? ?? ??? ? ?????. ?? ??? ?? ??? ?? ? ???? ?? ??? SoC(System-on-a-Chip)? ???? ??? ? ?? ?? ??? ??? ?? ??? ????? ??? ???? ???? ????.
??? ??? ?? NVIDIA DRIVE Orin SoC? ?? ??? ???? ????? ??? ??????. ASIL ????? ?? ???? ????? ?? ?????.
FPGA?? NVIDIA DRIVE Orin?? ??????
?? ??? FPGA? ?? ???? ?? ?? ??? ?? ???? ????? ?? ??? ? ?????.
?? ??? ?? ??? ?? ? ???? ?? ??? SoC(System-on-a-Chip)? ???? ??? ? ?? ?? ??? ??? ?? ??? ????? ??? ???? ???? ????.
??? ??? ?? NVIDIA DRIVE Orin SoC? ?? ??? ???? ????? ??? ??????. ASIL ????? ?? ???? ????? ?? ?????. ???? ??? ??? ???? ???? ???? ??? ?? ??? ???? ??? ?? ???? ????? ??? ? ????.
NVIDIA Orin? ???? ?? ?? ?? ??, ???, ?? ??, ??? ??? ???? ??? ?????. ? ???? ?? ???? ???? ???? ? BOM ??? ?? 70% ??? ??? ??????.

Orin SoC? FPGA? ?? ?????? ???? ??? ??? 10? ??? ???? ???? ?????? ?? 70%? ?? ??? ?????.
NVIDIA?? ??? ?? Orin-CPU-GPU ?? ?? ?? ?? ??? NvStream? ?? DMA ??? ?? PCIe ??? ??? ????.
- ??? ???? DL ??? ?? NVIDIA Orin SoC? NvStream? ???? ?? ???? ?? GPU? ???? ?????.
- GPU ??? ?? ?? NVIDIA Orin SoC? NvStream? ???? ???? ???? ?? ??? CPU? ?????.
?? 2/3 ??? ??? ??????

Orin SoC? ?? 250 TOPS DL ??? ????? L4? L2/L3 ?? ??? ?? ? ????. ??? NVIDIA RTX 5000? ??? ???? ????? L4 ????? ??? ??? Orin?? ???? ??? ????? ??? ? ????. ??? ???? ??? L4? L2/L3 ??? ?? ???? ??? ? ????.
? ??? ??? ??? L2/L3 ??? ????? ??? ??? ??? ????.
NVIDIA Orin? ?? ?? 4 ???? ??? ??? ????? ???? RTX5000 ?? GPU? ??? ????? ??? ? ?? ?? 254? ? ?? ??? ??? ?????. ??? NVIDIA Orin SoC? ???? ??? ???? ???? ??? ?? ?? ?? ???? ?????.
- ??? sparse ????
- DLA ??
- ?? NVIDIA Orin SoC?? ??
??
Pony? ?? ??? ?? ????? ??? ? ?? ?? ??? ???? ? ??? ?? ??? ??? ?? ????? ? ??? ??? ???? ?? ??? ???? ?? ??? ??????. ? ?? ??? ??? ??? ????.
- ??? ??? ???? ???? ????. ???? ?? ????? ????? ???? ???? ??? ?? ????? ???.
- ??? ???? ??? ?? ????? ???? ?? ??? ?? ?? ??? ???? ?????.
- ?? 4? ?? 2 ??? ?? ??? ??? ??? ??? ????? ??? ?????.
??? ?? ??? ?????? ???? ?????? ??? ? ??? ????? ? ???? ?? ??? ??? ? ? ???? ?????. ?? ??? ???? ??? ?? ??? ?? ??? ??? ???? ? ?? ????? ?????.
?? ?? ??
? ????? Pony? ?? ??? ??????? ?? ?? ??? ??? ???? ????. ? ??? ???? ?? ??? ????? ??? ????? ??? ? ?? ?? ?????? ??????.