在云中使用 GPU
启动 EC2 实例
1
确保您被允许使用 GPU
您可能需要向 AWS 请求增加您可以使用的 GPU 数量的限制。
您可以在 AWS 控制台中执行此操作。
转到 "服务配额" -> "AWS 服务" -> "Amazon Elastic Compute Cloud (Amazon EC2)" -> "Running On-Demand G and VT instances" -> "Request increase at account-level"。
您也可以点击此处直接访问 us-east-1
区域的页面。
2
启动 EC2 实例
点击此处在 us-east-1
上启动 EC2 实例。
选择 "浏览更多 AMI",搜索 ami-053b0d53c279acc90
,选择 "Community AMIs" 选项卡,并选择具有正确 AMI 的映像("ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-20230516")。
我们建议选择 g4dn.xlarge
大小 - 请注意,此实例的默认配置每月费用为 $375。
如果您收到 "Subscribing to AMI is taking longer than expected" 消息,这是正常的。您可能需要等待几分钟。
3
配置实例:
连接到实例后,运行以下命令:
将 Linux 内核升级至 v6bash
sudo bash -c "apt update && export DEBIAN_FRONTEND=noninteractive && export NEEDRESTART_MODE=a && apt upgrade -y && reboot"
将 Linux 内核升级至 v6bash
sudo bash -c "apt update && export DEBIAN_FRONTEND=noninteractive && export NEEDRESTART_MODE=a && apt upgrade -y && reboot"
实例将重新启动,因此会断开连接。等待片刻,然后重新连接。
安装 libvulkanbash
sudo apt install -y build-essential libvulkan1
安装 libvulkanbash
sudo apt install -y build-essential libvulkan1
安装 GPU 驱动程序bash
DRIVER_URL="https://us.download.nvidia.com/tesla/535.104.12/NVIDIA-Linux-x86_64-535.104.12.run"DRIVER_NAME="NVIDIA-Linux-driver.run"wget -O "$DRIVER_NAME" "$DRIVER_URL"sudo sh "$DRIVER_NAME" --disable-nouveau --silentrm "$DRIVER_NAME"
安装 GPU 驱动程序bash
DRIVER_URL="https://us.download.nvidia.com/tesla/535.104.12/NVIDIA-Linux-x86_64-535.104.12.run"DRIVER_NAME="NVIDIA-Linux-driver.run"wget -O "$DRIVER_NAME" "$DRIVER_URL"sudo sh "$DRIVER_NAME" --disable-nouveau --silentrm "$DRIVER_NAME"
配置启动服务bash
echo '[Unit]Description=Run nvidia-smi at system startup[Service]ExecStart=/usr/bin/nvidia-smiType=oneshotRemainAfterExit=yes[Install]WantedBy=multi-user.target' | sudo tee /etc/systemd/system/nvidia-smi.servicesudo systemctl enable nvidia-smi.servicesudo systemctl start nvidia-smi.service
配置启动服务bash
echo '[Unit]Description=Run nvidia-smi at system startup[Service]ExecStart=/usr/bin/nvidia-smiType=oneshotRemainAfterExit=yes[Install]WantedBy=multi-user.target' | sudo tee /etc/systemd/system/nvidia-smi.servicesudo systemctl enable nvidia-smi.servicesudo systemctl start nvidia-smi.service
安装 Chromebash
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrom-keyring.gpgecho "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrom-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.listsudo apt updatesudo apt install -y google-chrome-stable curl gnupg ca-certificates
安装 Chromebash
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrom-keyring.gpgecho "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrom-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.listsudo apt updatesudo apt install -y google-chrome-stable curl gnupg ca-certificates
安装 Node.jsbash
sudo mkdir -p /etc/apt/keyringscurl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpgNODE_MAJOR=20echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.listsudo apt-get updatesudo apt-get install nodejs -y
安装 Node.jsbash
sudo mkdir -p /etc/apt/keyringscurl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpgNODE_MAJOR=20echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.listsudo apt-get updatesudo apt-get install nodejs -y
4
使用 GPU 渲染视频
克隆 Remotion GPU 演示bash
git clone https://github.com/remotion-dev/gpu-scenecd gpu-scenenpm inpx remotion render --browser-executable=/usr/bin/google-chrome-stable --gl=angle-egl --enable-multiprocess-on-linux
克隆 Remotion GPU 演示bash
git clone https://github.com/remotion-dev/gpu-scenecd gpu-scenenpm inpx remotion render --browser-executable=/usr/bin/google-chrome-stable --gl=angle-egl --enable-multiprocess-on-linux