From ad6c694bb3972ea033118cffdde3dd149d1e2673 Mon Sep 17 00:00:00 2001 From: Dan Fu Date: Wed, 1 Jun 2022 20:07:00 -0700 Subject: [PATCH] 3090 speedup --- README.md | 18 +++++++++++++++--- assets/flashattn_speedup_3090.jpg | Bin 0 -> 109018 bytes 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 assets/flashattn_speedup_3090.jpg diff --git a/README.md b/README.md index d58024c..9e996bf 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,10 @@ Our tentative roadmap: ## Speedup and Memory Savings -We present expected speedup (combined forward + backward pass) and memory savings from using FlashAttention against PyTorch standard attention, depending on sequence length. +We present expected speedup (combined forward + backward pass) and memory savings from using FlashAttention against PyTorch standard attention, depending on sequence length, on different GPUs (speedup depends on memory bandwidth - we see more speedup on slower GPU memory). + +### A100 + We display FlashAttention speedup using these parameters (similar to BERT-base): * Batch size 8 * Head dimension 64 @@ -47,14 +50,14 @@ We display FlashAttention speedup using these parameters (similar to BERT-base): Our graphs show sequence lengths between 128 and 4096 (when standard attention runs out of memory on an A100), but FlashAttention can scale up to sequence length 64K. -### Speedup +#### Speedup ![FlashAttention speedup](assets/flashattn_speedup.jpg) We generally see 2-4X speedup at sequence lengths between 128 and 4K, and we see more speedup when using dropout and masking, since we fuse the kernels. At sequence lengths that are popular with language models like 512 and 1K, we see speedups up to 4X when using dropout and masking. -### Memory +#### Memory ![FlashAttention memory](assets/flashattn_memory.jpg) @@ -63,6 +66,15 @@ Memory savings are proportional to sequence length -- since standard attention h We see 10X memory savings at sequence length 2K, and 20X at 4K. As a result, FlashAttention can scale to much longer sequence lengths. +### RTX 3090 + +For the RTX 3090, we use batch size 12 with 12 attention heads. +Memory savings are the same as on an A100, so we'll only show speedup here. + +![FlashAttention speedup GTX 3090](assets/flashattn_speedup_3090.jpg) + +We see slightly higher speedups (between 2.5-4.5x) on the GTX 3090, since memory bandwidth on the GDDR6X is lower than A100 HBM (~900 GB/s vs. ~1.5 TB/s). + ## Acknowledgments Our implementation uses Apex's [FMHA](https://github.com/NVIDIA/apex/tree/master/apex/contrib/csrc/fmha) code diff --git a/assets/flashattn_speedup_3090.jpg b/assets/flashattn_speedup_3090.jpg new file mode 100644 index 0000000000000000000000000000000000000000..adb50d62f9e05d79638f639f6b0a3c2d66d5b25d GIT binary patch literal 109018 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 q`Zo>TMX@zAV}R1iaFV3FR`S