پرش به محتوا
← همهٔ یادداشت‌ها

Ubuntu Desktop روی GPU ابری: دسکتاپ لینوکس برای Blender

·۸ دقیقه مطالعه·تیم جی‌پی‌یو

یک میز تحریر کرکره‌ای چوبی قرن هجدهمی با منبت‌کاری گل و روبان و تزیینات برنجی طلایی، روی کف چوبی یک موزه.

اگر می‌خواهید یک دسکتاپ کامل لینوکس با کارت گرافیک قوی داشته باشید و Blender را با موس و کیبورد، درست مثل کامپیوتر خودتان، از داخل مرورگر کار کنید، قالب Ubuntu Desktop (VM) روی GPU ابری جی‌پی‌یو همین را می‌دهد. نه نصب درایور لازم است، نه خرید سخت‌افزار؛ ماشین را اجاره می‌کنید، پنل را باز می‌کنید و دسکتاپ جلوی شماست.

این آموزش برای طراح سه‌بعدی، دانشجوی معماری یا هر کسی است که لپ‌تاپش زیر بار Blender و رندر Cycles نفس‌نفس می‌زند. راه‌اندازی حدود ۱۵ دقیقه طول می‌کشد و برای یک جلسهٔ کاری یکی‌دوساعته، با کارت‌های میان‌رده، چند ده هزار تومان خرج دارد. در پایان هم یاد می‌گیرید رندر سنگین را بدون باز نگه داشتن دسکتاپ، از طریق SSH اجرا کنید.

پیش‌نیازها

انتخاب کارت گرافیک ابری برای Blender

برای کار با دسکتاپ و مدل‌سازی، تقریباً هر کارت RTX کافی است. چیزی که تعیین‌کننده است رندر Cycles است: هرچه صحنه سنگین‌تر باشد (تکسچر زیاد، شبیه‌سازی، میلیون‌ها چندضلعی)، VRAM بیشتری لازم دارد. اگر صحنه در VRAM جا نشود، رندر با خطا متوقف می‌شود.

  • پیشنهاد اقتصادی — RTX 3060 با ۱۲ گیگابایت: برای صحنه‌های معمولی، رندر محصول و پروژه‌های دانشجویی. در زمان نوشتن این مطلب ارزان‌ترین RTX 3060 در بازار از حدود ۲۱ هزار تومان در ساعت شروع می‌شود.
  • میانه — RTX A4000 با ۱۶ گیگابایت: کارت حرفه‌ای با حافظهٔ بیشتر برای صحنه‌های داخلی شلوغ. در زمان نوشتن این مطلب از حدود ۳۴ هزار تومان در ساعت.
  • صحنهٔ سنگین — RTX 3090 با ۲۴ گیگابایت: برای انیمیشن، شبیه‌سازی و تکسچرهای 8K. در زمان نوشتن این مطلب از حدود ۵۵ هزار تومان در ساعت.
  • بیشترین سرعت — RTX 4090 با ۲۴ گیگابایت: وقتی زمان تحویل مهم‌تر از هزینه است. در زمان نوشتن این مطلب از حدود ۱۶۲ هزار تومان در ساعت.

قیمت‌ها هر روز تغییر می‌کنند؛ عدد دقیق را در بازار GPU با فیلتر مدل کارت ببینید. قیمت ساعتی موقع اجاره قفل می‌شود و تا وقتی ماشین را دارید عوض نمی‌شود. برای دسکتاپ روان، به ستون پهنای باند هم نگاه کنید؛ تصویر دسکتاپ به‌صورت زنده به مرورگر شما فرستاده می‌شود.

اجاره و راه‌اندازی Ubuntu Desktop

۱. در بازار، ماشین مورد نظر را باز کنید و از فهرست قالب‌ها Ubuntu Desktop (VM) را انتخاب کنید. این قالب یک ماشین مجازی کامل اوبونتو با میز کار KDE Plasma است. اگر فقط به یک دسکتاپ سبک‌تر داخل کانتینر نیاز دارید، Linux Desktop Container هم در فهرست هست.

۲. دکمهٔ اجاره را بزنید. ماشین مجازی کمی دیرتر از قالب‌های کانتینری بالا می‌آید؛ صبر کنید تا وضعیت «آماده» شود.

۳. در صفحهٔ ماشین، روی «پنل ماشین» بزنید. از داخل پنل، نمایشگر دسکتاپ را باز کنید. دو گزینه هست: Selkies که سریع‌تر است و پیشنهاد اصلی است، و noVNC که اگر Selkies در مرورگرتان خوب کار نکرد، جایگزین مطمئنی است. اگر مرورگر هشدار گواهی امنیتی داد، با تأیید آن ادامه دهید.

۴. حالا یک دسکتاپ کامل لینوکس در یک تب مرورگر دارید. اولین کار: از منوی برنامه‌ها یک ترمینال باز کنید و رمز کاربر را عوض کنید:

passwd

۵. مطمئن شوید کارت گرافیک دیده می‌شود:

nvidia-smi

باید نام کارت (مثلاً RTX 3090) و مقدار VRAM را ببینید. اگر جدول خالی بود یا خطا داد، پایین‌تر بخش «اگر به مشکل خوردید» را ببینید.

نصب و اجرای Blender روی سرور GPU

روی این قالب معمولاً Blender از قبل در منوی برنامه‌ها هست. اگر نبود، یا نسخهٔ تازه‌تری می‌خواهید، در ترمینال دسکتاپ بزنید:

sudo snap install blender --classic

حجم دانلود چند صد مگابایت است و چون ماشین خارج از ایران و با اینترنت پرسرعت است، معمولاً در کمتر از یک دقیقه تمام می‌شود؛ به سرعت اینترنت شما ربطی ندارد.

روشن کردن GPU در Cycles

Blender به‌صورت پیش‌فرض با پردازنده رندر می‌گیرد. برای استفاده از کارت گرافیک:

۱. از منوی Edit › Preferences › System، در بخش Cycles Render Devices گزینهٔ OptiX را بزنید و تیک کارت گرافیک را بزنید. OptiX روی کارت‌های RTX سریع‌ترین گزینه است؛ اگر مشکلی داشت، CUDA را امتحان کنید.

۲. در پنل Render Properties، موتور را روی Cycles و Device را روی GPU Compute بگذارید.

۳. یک رندر آزمایشی بگیرید (F12) و هم‌زمان در ترمینال nvidia-smi را اجرا کنید. اگر درصد استفادهٔ GPU بالا رفت، همه چیز درست است.

آوردن فایل پروژه به ماشین

ساده‌ترین راه برای فایل‌های کوچک، باز کردن Firefox داخل همان دسکتاپ و دانلود از فضای ابری خودتان است. برای فایل‌های بزرگ، از کامپیوتر خودتان با scp بفرستید. دستور SSH آمادهٔ ماشین در صفحهٔ ماشین هست و پورت و آدرس را از همان‌جا بردارید:

scp -P <PORT> scene.blend root@<IP>:/root/

جزئیات بیشتر، از جمله rsync برای پوشه‌های بزرگ، در دانلود مدل هوش مصنوعی روی سرور GPU: scp و rsync آمده است.

رندر بدون دسکتاپ از طریق SSH

برای رندرهای طولانی لازم نیست تب دسکتاپ باز بماند. فایل را در دسکتاپ آماده و ذخیره کنید، بعد با SSH وصل شوید و رندر را در پس‌زمینه بگیرید. برای یک فریم:

blender -b /root/scene.blend -E CYCLES -o //render_ -F PNG -f 1 -- --cycles-device OPTIX

و برای کل انیمیشن، با همان تنظیمات بازهٔ فریمی که در فایل ذخیره کرده‌اید:

blender -b /root/scene.blend -E CYCLES -o //render_ -F PNG -a -- --cycles-device OPTIX

-b یعنی بدون رابط گرافیکی، //render_ یعنی خروجی کنار خود فایل .blend ذخیره شود و -f یا -a باید آخرین گزینه قبل از -- باشند. اگر می‌خواهید با بسته شدن ترمینال رندر قطع نشود، دستور را داخل tmux یا با nohup اجرا کنید. گزینه‌های کامل در مستندات خط فرمان Blender هست.

اگر به مشکل خوردید

  • دسکتاپ کند است یا تصویر می‌پرد: از Selkies به noVNC بروید یا برعکس، و کیفیت تصویر را در تنظیمات نمایشگر پایین بیاورید. ماشینی با پهنای باند بیشتر هم کمک می‌کند. برای رندر نهایی از روش SSH استفاده کنید که به سرعت اینترنت شما وابسته نیست.
  • در Preferences کارت گرافیک دیده نمی‌شود: اول در ترمینال nvidia-smi را بزنید. اگر کارت را نشان داد، بین OptiX و CUDA جابه‌جا شوید و Blender را دوباره باز کنید. اگر nvidia-smi هم کارت را ندید، ماشین را حذف کنید و یک ماشین دیگر بگیرید، یا با پشتیبانی تماس بگیرید.
  • خطای CUDA out of memory هنگام رندر: صحنه در VRAM جا نمی‌شود. اندازهٔ تکسچرها را کم کنید، اشیای پنهان را حذف کنید، یا ماشین را با کارتی با حافظهٔ بیشتر (مثلاً ۲۴ گیگ) عوض کنید.
  • پنل ماشین باز نمی‌شود: ماشین مجازی ممکن است چند دقیقه بعد از «آماده» شدن هنوز در حال بالا آمدن باشد. کمی صبر کنید و صفحه را تازه کنید.
  • تکسچرها صورتی دیده می‌شوند: فایل‌های تصویر به ماشین منتقل نشده‌اند. Pack Resources را بزنید یا پوشهٔ تکسچرها را هم بفرستید.

هزینه و صرفه‌جویی

هزینه دقیقه‌ای از کیف پول کم می‌شود و فقط وقتی ماشین «در حال اجرا» است. یک جلسهٔ مدل‌سازی دوساعته روی RTX 3060، در زمان نوشتن این مطلب، حدود ۴۲ هزار تومان خرج دارد. چند نکته:

  • مدل‌سازی و ویرایش سبک را روی کامپیوتر خودتان انجام دهید و فقط برای رندر و کارهای سنگین ماشین بگیرید.
  • اول یک فریم را رندر بگیرید و زمانش را بسنجید؛ بعد زمان کل انیمیشن را حساب کنید و تصمیم بگیرید کارت ارزان کافی است یا نه.
  • بعد از کار، ماشین را متوقف یا حذف کنید. ماشین متوقف‌شده هزینه‌ای ندارد.
  • دیسک ماشین با حذف آن پاک می‌شود. قبل از حذف، خروجی‌ها و فایل .blend نهایی را با scp یا از طریق فضای ابری خودتان بردارید.

قدم بعدی

اگر برای پروژه‌تان به ابزارهای هوش مصنوعی هم نیاز دارید، مثلاً ساخت تکسچر یا تصویر مرجع، نگاهی به سرور GPU آماده: قالب‌ها چیست و کدام را انتخاب کنیم؟ بیندازید. قالب All-in-One App Studio هم ابزارهای تصویر و صدا را کنار یک دسکتاپ با شتاب GPU یک‌جا دارد.

پرسش‌های متداول

آیا می‌توان Blender را روی سرور ابری اجرا کرد؟

بله. با قالب Ubuntu Desktop (VM) یک دسکتاپ کامل لینوکس با کارت گرافیک در مرورگر می‌گیرید و Blender را با رابط گرافیکی کامل کار می‌کنید. برای رندر طولانی هم می‌توانید Blender را بدون رابط و از طریق SSH اجرا کنید.

برای رندر Blender چقدر VRAM لازم است؟

برای بیشتر صحنه‌های معمولی ۸ تا ۱۲ گیگابایت کافی است. صحنه‌های داخلی شلوغ، شبیه‌سازی و تکسچرهای 8K به ۱۶ تا ۲۴ گیگابایت نیاز دارند. اگر رندر با خطای کمبود حافظه متوقف شد، کارت با VRAM بیشتر بگیرید.

آیا روی GPU ابری ویندوز دارید؟

خیر. ماشین‌های جی‌پی‌یو فقط لینوکس اوبونتو هستند. Blender نسخهٔ لینوکس کاملی دارد و فایل‌های .blend بین ویندوز و لینوکس بدون تغییر باز می‌شوند.

OptiX بهتر است یا CUDA؟

روی کارت‌های سری RTX، OptiX معمولاً سریع‌تر است چون از هسته‌های مخصوص ردیابی پرتو استفاده می‌کند. اگر با OptiX خطا گرفتید یا افزونه‌ای با آن سازگار نبود، CUDA را انتخاب کنید که روی همهٔ کارت‌های NVIDIA کار می‌کند.

آیا فایل‌هایم بعد از حذف ماشین می‌مانند؟

خیر. با حذف ماشین، دیسک آن کاملاً پاک می‌شود و فضای ذخیره‌سازی دائمی بین ماشین‌ها وجود ندارد. پس قبل از حذف، فایل .blend و همهٔ رندرها را دانلود کنید یا به فضای ابری خودتان بفرستید.

تصویر کاور: «Roll-top desk attributed to David Roentgen, Germany, Neuwied, c. 1780, sycamore, boxwood, burl yew, kingwood, tulipwood, ebony, gilt-bronz- California Palace of the Legion of Honor - San Francisco, CA - DSC09851» اثر Daderot، از ویکی‌مدیا کامنز، لایسنس Public Domain.