Memory Management

Introduction to CUDA Programming for Python Developers

GPU architecture enables massive parallel processing through thousands of CUDA cores, contrasting with CPU's sequential processing capabilities. CUDA programming provides a platform for developers to harness GPU's parallel power through kernel functions and thread management. The document explores memory management, shared memory optimization, and practical applications in LLM workloads like FlashAttention.

String vs &str

Explores the differences and optimal usage patterns between &str and String in Rust, focusing on their implementation in function arguments, return values, and struct fields. Explains how each type has specific use cases based on memory ownership, lifetime requirements, and performance considerations.

wingolog

An in-depth exploration of generational garbage collection reveals unexpected performance results where generational collectors perform worse than whole-heap collectors in benchmark tests. The analysis examines various factors including nursery size, write barriers, and collection frequency, questioning conventional wisdom about generational GC's superiority.

Go Data Structures Posted on Tuesday, November 24, 2009.

A detailed explanation of Go programming language's memory representation and data structures, covering basic types, structs, arrays, and slices. The content explores how Go gives programmers control over memory layout and pointers, differentiating it from languages like Java, while explaining the efficiency considerations behind these design choices.