Skip to content

Instantly share code, notes, and snippets.

@mitchellnw
Last active December 26, 2023 04:09
Show Gist options
  • Save mitchellnw/17d529b1a5eabd38ca345e41f5002074 to your computer and use it in GitHub Desktop.
Save mitchellnw/17d529b1a5eabd38ca345e41f5002074 to your computer and use it in GitHub Desktop.
triton-a100.ipynb
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"gpuType": "A100",
"authorship_tag": "ABX9TyPwJzd6a2YBBAVCNYjs4W64",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/mitchellnw/17d529b1a5eabd38ca345e41f5002074/triton-a100.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"Known issues:\n",
"- Slow speeds with large number of heads\n",
"- Slow speeds when wrapped in autograd.Function\n",
"- This notebook contains only the forward pass. See https://gist.github.com/mitchellnw/0b48501f1c2e5043f3d6e666b5475695 whcih has the backward as well."
],
"metadata": {
"id": "PceoDskjtmLq"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "z64jJbxz0HtE",
"outputId": "fd027d65-13a0-421b-d9b9-b16222082341"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"/sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_0.so.3 is not a symbolic link\n",
"\n",
"/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc_proxy.so.2 is not a symbolic link\n",
"\n",
"/sbin/ldconfig.real: /usr/local/lib/libtbbmalloc.so.2 is not a symbolic link\n",
"\n",
"/sbin/ldconfig.real: /usr/local/lib/libtbb.so.12 is not a symbolic link\n",
"\n",
"/sbin/ldconfig.real: /usr/local/lib/libtbbbind_2_5.so.3 is not a symbolic link\n",
"\n",
"/sbin/ldconfig.real: /usr/local/lib/libtbbbind.so.3 is not a symbolic link\n",
"\n"
]
}
],
"source": [
"!export LC_ALL=\"en_US.UTF-8\"\n",
"!export LD_LIBRARY_PATH=\"/usr/lib64-nvidia\"\n",
"!export LIBRARY_PATH=\"/usr/local/cuda/lib64/stubs\"\n",
"!ldconfig /usr/lib64-nvidia"
]
},
{
"cell_type": "code",
"source": [
"import torch\n",
"import numpy as np\n",
"import triton\n",
"import triton.language as tl"
],
"metadata": {
"id": "6AwR00GE0jHV"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Forward pass"
],
"metadata": {
"id": "RIw5lOEf1K18"
}
},
{
"cell_type": "code",
"source": [
"@triton.jit\n",
"def relu_attn_(q_ptr,\n",
" k_ptr,\n",
" v_ptr,\n",
" o_ptr,\n",
" Dh: tl.constexpr, # head dim\n",
" L: tl.constexpr, # seqlen\n",
" Nh: tl.constexpr, # num heads\n",
" B: tl.constexpr, # batchsize\n",
" sm_scale: tl.constexpr, # 1/sqrt(Dh)\n",
" relu_scale: tl.constexpr, # 1/L\n",
" is_causal: tl.constexpr,\n",
" is_squared: tl.constexpr,\n",
" BLOCK_SIZE: tl.constexpr, # Number of elements each program should process.\n",
" ):\n",
" # Q, K, V is of size [B, L, Nh, Dh]\n",
" pid = tl.program_id(axis=0) # current program id\n",
" currB = (pid * BLOCK_SIZE) // (Nh * L) # current batch idx\n",
" currL = (BLOCK_SIZE * pid) % L\n",
" currNh = ((BLOCK_SIZE * pid) // L) % Nh\n",
" # Common offsets\n",
" block_start = currB*Nh*L*Dh + currL*Nh*Dh + currNh*Dh\n",
" bsz_offset = tl.arange(0, BLOCK_SIZE)\n",
" common_offset = tl.arange(0, Dh)[None, :] + bsz_offset[:, None]*(Dh*Nh)\n",
" # Always keep q in mem\n",
" q = tl.load(q_ptr + block_start + common_offset)\n",
" # Accum.\n",
" acc = tl.zeros((BLOCK_SIZE, Dh), dtype=tl.float32)\n",
" # Loop over seqlen in BLOCK_SIZE chunks\n",
" upper = currL + 1 if is_causal else L\n",
" for l in range(0, upper, BLOCK_SIZE):\n",
" common_kv_offset = currB*Nh*L*Dh + l*Nh*Dh + currNh*Dh + common_offset\n",
" k = tl.load(k_ptr + common_kv_offset)\n",
" v = tl.load(v_ptr + common_kv_offset)\n",
" qk = tl.dot((q * sm_scale).to(tl.bfloat16), tl.trans(k)) # TODO: why is bfloat cast required\n",
" # causal masking and relu\n",
" mask = (qk >= 0)\n",
" if is_causal:\n",
" mask *= ((currL + bsz_offset)[:, None] >= (l + bsz_offset)[None, :])\n",
" qk = tl.where(mask, qk, 0.)\n",
" if is_squared:\n",
" qk *= qk\n",
" acc += tl.dot((relu_scale * qk).to(tl.bfloat16), v) # TODO: why is bfloat cast required\n",
" tl.store(o_ptr + block_start + common_offset, acc)\n",
"\n",
"\n",
"def relu_attn(q: torch.Tensor, k: torch.Tensor, v: torch.Tensor, is_causal: bool = True, is_squared: bool = False):\n",
" output = torch.empty_like(q)\n",
" B, L, Nh, Dh = q.shape\n",
" BLOCK_SIZE = min(L, 64)\n",
" grid = lambda meta: ((B * Nh * L) // BLOCK_SIZE, )\n",
" relu_attn_[grid](q, k, v, output, Dh, L, Nh, B, 1./np.sqrt(Dh), 1./L, is_causal=is_causal, is_squared=is_squared, BLOCK_SIZE=BLOCK_SIZE, num_warps=4, num_stages=1)\n",
" return output"
],
"metadata": {
"id": "p10gyE1q0wzt"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"# Correctness check forward pass"
],
"metadata": {
"id": "akMOJxaA1P4q"
}
},
{
"cell_type": "code",
"source": [
"B, L, Nh, Dh = 4, 1024, 4, 128 # Not sure these shapes are realistic? Just a test.\n",
"Q = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
"K = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
"V = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
"\n",
"KK = K.swapaxes(1, 2)\n",
"QQ = Q.swapaxes(1, 2)\n",
"VV = V.swapaxes(1, 2)\n",
"\n",
"gt_O = torch.matmul((1./L) * torch.nn.functional.relu(torch.matmul(QQ / np.sqrt(Dh), KK.swapaxes(-2, -1))) * torch.ones(1, 1, L, L).cuda().tril().bfloat16(), VV).swapaxes(1, 2)\n",
"O = relu_attn(Q, K, V)\n",
"print((gt_O - O).abs().mean())"
],
"metadata": {
"id": "91ujF-Jd02A5",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "301805c9-ffff-4f38-ab8f-988dcf9e3dd0"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"tensor(0., device='cuda:0', dtype=torch.bfloat16)\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# Speed check forward pass"
],
"metadata": {
"id": "tS7kBSyb1U-c"
}
},
{
"cell_type": "code",
"source": [
"%timeit torch.nn.functional.scaled_dot_product_attention(Q, K, V, is_causal=True, scale=1./np.sqrt(Dh))"
],
"metadata": {
"id": "gMZQY_1n1CRG",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "71b2ac0d-b24a-4c27-f5ad-bef5453b853f"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"171 µs ± 1.32 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"relu_attn(Q, K, V)\n",
"%timeit relu_attn(Q, K, V)"
],
"metadata": {
"id": "OU4_xNSa1g57",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "f251da95-c8d3-4a4c-e453-a8847bf9b800"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"72.4 µs ± 10.8 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"relu_attn(Q, K, V, is_squared=True)\n",
"%timeit relu_attn(Q, K, V, is_squared=True)"
],
"metadata": {
"id": "zORlZJdp1ji8",
"colab": {
"base_uri": "https://localhost:8080/"
},
"outputId": "43f06bf1-3b89-4859-c53a-bb88a9aeafe5"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"73 µs ± 8.88 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"# Speed as a function of seqlen"
],
"metadata": {
"id": "C4ISt9NO09jC"
}
},
{
"cell_type": "code",
"source": [
"seqlens = [256, 512, 1024, 2048]\n",
"flash_attn_speed = []\n",
"relu_attn_speed = []\n",
"\n",
"for seqlen in seqlens:\n",
" B, L, Nh, Dh = 4, seqlen, 4, 128\n",
" Q = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
" K = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
" V = torch.randn(B, L, Nh, Dh).cuda().bfloat16()\n",
"\n",
" torch.nn.functional.scaled_dot_product_attention(Q, K, V, is_causal=True, scale=1./np.sqrt(Dh))\n",
" flash_attn_result = %timeit -o torch.nn.functional.scaled_dot_product_attention(Q, K, V, is_causal=True, scale=1./np.sqrt(Dh))\n",
" flash_attn_speed.append(flash_attn_result.average)\n",
"\n",
" relu_attn(Q, K, V)\n",
" relu_attn_result = %timeit -o relu_attn(Q, K, V)\n",
" relu_attn_speed.append(relu_attn_result.average)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "oUEUpIHD0_lh",
"outputId": "a59e49f8-0d90-4312-ca74-5937f4015da1"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"46.9 µs ± 259 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"55.5 µs ± 504 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"87.3 µs ± 16.5 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"56.2 µs ± 490 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"171 µs ± 2.42 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"72.5 µs ± 61 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"342 µs ± 3.02 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n",
"179 µs ± 37.3 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"import matplotlib.pyplot as plt\n",
"plt.plot(seqlens, flash_attn_speed, label='Flash Attn v2', marker='s')\n",
"plt.plot(seqlens, relu_attn_speed, label='Relu Attn', marker='o')\n",
"plt.grid()\n",
"plt.xlabel('Seqlen')\n",
"plt.ylabel('Time')\n",
"plt.xscale('log')\n",
"plt.ylim(0)\n",
"plt.legend()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 472
},
"id": "0nwBTzWG1QPe",
"outputId": "18d1adbf-4fba-4e40-9bec-72929755ab22"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7de2d1105870>"
]
},
"metadata": {},
"execution_count": 32
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {}
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment