coreweave / tensorizer

Module, Model, and Tensor Serialization/Deserialization
MIT License
180 stars 25 forks source link

[WIP] multireader #80

Closed bchess closed 7 months ago

bchess commented 8 months ago

No need to review. This PR is just for my own notes num_readers=1:

image
bchess commented 8 months ago

With num_readers=8

Deserialized 12.2 GB in 1.02s, 12.0 GB/s
Memory usage before: CPU: (maxrss: 1,350MiB F: 1,003,781MiB) GPU: (U: 433MiB F: 45,162MiB T: 45,596MiB) TORCH: (R: 0MiB/0MiB, A: 0MiB/0MiB)
Memory usage after: CPU: (maxrss: 3,167MiB F: 1,001,989MiB) GPU: (U: 12,171MiB F: 33,424MiB T: 45,596MiB) TORCH: (R: 11,716MiB/11,716MiB, A: 11,653MiB/11,653MiB)
Output: ¡Hola! Encantado de conocerte. hoy voy a cocinar unas cosas dificiles de cocer con chocolate, porque como viera que pode ha ser muy divertido y tambien, es muy sancochado, y de hecho esta
to CUDA stats: 12219206136 bytes in 1.689s, 6.738 GiB/s
readinto stats: 12219206136 bytes in 1.808s, 6.294 GiB/s
image
bchess commented 8 months ago
bchess commented 7 months ago
PYTORCH_CUDA_ALLOC_CONF=pinned_use_cuda_host_register:True python deserialize.py --source /scratch/gpt-neox-20b.tensors --model-ref EleutherAI/gpt-neox-20b --num-readers=8
Deserialized 41.3 GB in 2.23s, 18.5 GB/s
Memory usage before: CPU: (maxrss: 1,429MiB F: 969,069MiB) GPU: (U: 433MiB F: 45,162MiB T: 45,596MiB) TORCH: (R: 0MiB/0MiB, A: 0MiB/0MiB)
Memory usage after: CPU: (maxrss: 6,558MiB F: 963,942MiB) GPU: (U: 39,919MiB F: 5,676MiB T: 45,596MiB) TORCH: (R: 39,456MiB/39,456MiB, A: 39,382MiB/39,382MiB)
Output: ¡Hola! Encantado de conocerte. hoy voy a mostrarles una nueva receta para todos los que son más delicatessen como yo ;) y ademas que siempre busco algo para mi hijito!
Tengo que dejar en claro que es una receta nueva que
to CUDA stats: 41293685880 bytes in 6.164s, 6.239 GiB/s
readinto stats: 41293685880 bytes in 7.432s, 5.175 GiB/s

https://github.com/pytorch/pytorch/blob/d707e3c9c6f18263b1af3204d8bdb6a38fac0b47/aten/src/ATen/cuda/CachingHostAllocator.cpp#L409