سیستم عامل رمزگذاری شده Nvidia RTX Spark سرعت استنتاج را در لینوکس تا 35 درصد کاهش می دهد
آدرس مقاله: https://www.mindstudio.ai/blog/linux-nvidia-rtx-spark-laptop آدرس نظرات: https://news.ycombinator.com/item?id=50362905 امتیاز: 356 # نظرات: 176
بله، اما با یک گرفتاری جدی همراه است. لینوکس روی لپتاپهای RTX Spark مانند MSI Prestige N16 Flip AI Plus نصب و اجرا میشود، از جمله شتاب GPU از طریق درایور هسته باز Nvidia. مشکل سرعت ساعت است: هنگامی که لپتاپ به برق دیواری وصل میشود، پردازنده گرافیکی در لینوکس به جای 2 گیگاهرتز پلاس که در ویندوز به آن میرسد، روی تقریبا 780 مگاهرتز قفل میشود. این تراشهای را که قادر به تولید حدود 65 توکن در ثانیه در مدل 120 میلیارد پارامتری است، به تراشهای تبدیل میکند که در تلاش برای شکستن 14 توکن در ثانیه است، به دلایلی که به سیستمافزار مدیریت انرژی مرتبط است که لینوکس در حال حاضر قادر به خواندن آن نیست.
پلتفرم RTX Spark که در ماشینهایی مانند MSI Prestige، Asus ProArt و Dell XPS عرضه میشود، از همان طراحی گرافیکی واحد دسکتاپ DGX Spark انویدیا استفاده میکند. اما در جایی که DGX Spark با نسخه لینوکس خود انویدیا عرضه می شود، هر یک از این انواع لپ تاپ با ویندوز در ARM عرضه می شود.
این تمایز اهمیت دارد زیرا ویندوز روی ARM با پشتیبانی CUDA جدید است. ماشینهای ویندوز مبتنی بر ARM چند سالی است که وجود دارند، اما جفت کردن این معماری با پشته CUDA انویدیا تنها با این تراشه امکانپذیر شد. لپتاپها همچنین از پیکربندیهای حافظه یکپارچه تا ۱۲۸ گیگابایت پشتیبانی میکنند که بین CPU و GPU مشترک است، که برای یک لپتاپ غیرعادی است و دلیل اصلی عرضه آنها در توسعهدهندگان هوش مصنوعی است.
از آنجایی که بسیاری از اکوسیستم ابزارهای هوش مصنوعی، از جمله vLLM و SGLang، ابتدا با لینوکس ساخته شدهاند، توسعهدهندگانی که این دستگاهها را خریداری میکنند طبیعتا میخواهند بدانند که آیا میتوانند ویندوز یا حداقل بوت دوگانه را بدون از دست دادن عملکرد حذف کنند.
فرآیند پلاگین و بازی نیست. اولین تلاش با استفاده از Omarchy (یک توزیع لینوکس با ریشههای Arch) ناموفق بود، زیرا در حالی که قبلا از تراشه روی سختافزار Asus و Dell پشتیبانی میکرد، MSI Prestige رفتار متفاوتی داشت و صفحهنمایش لرزان و ناپایدار در هنگام بوت ایجاد کرد.
جابهجایی به دبیان با اطمینان بیشتری کار میکرد، اما همچنان به راهحلهایی نیاز داشت. نصب کننده نمی تواند به Wi-Fi متصل شود، بنابراین نصب به یک آداپتور اترنت USB نیاز داشت. در خارج از جعبه، دبیان همچنین صفحه کلید، تاچ پد یا پردازنده گرافیکی را تشخیص نداد، زیرا هیچ یک از پشتیبانی سخت افزاری خاص لپ تاپ در هسته وانیلی وجود نداشت.
بازگشت به Omarchy مشکل درایور را حل کرد، زیرا هسته آن قبلا درایور منبع باز انویدیا را بسته بندی کرده بود. در آن زمان لینوکس به درستی بوت شد، اما تنها 28 گیگابایت از 128 گیگابایت حافظه یکپارچه لپ تاپ را می دید. دلیل آن این است که سیستم عامل لپ تاپ 96 گیگابایت را برای استفاده از GPU ذخیره می کند و این تقسیم فقط از طریق ویندوز قابل تنظیم است. کاهش ذخیره حافظه GPU سمت ویندوز به 4 گیگابایت، 120 گیگابایت را برای لینوکس آزاد کرد تا پس از راهاندازی آن را مشاهده کند. پس از آن تنظیم، لپ تاپ یک دسکتاپ کامل با فرکانس 4K و 120 هرتز، با صدای کار، صفحه لمسی، صفحه کلید و شتاب CUDA اجرا کرد.
دریافت خروجی ویدیو از طریق HDMI در طول فرآیند نصب، مانع خود بود. در اوایل کار، لپتاپ فقط ویدیو را روی صفحهنمایش داخلی خود نمایش میداد، نه از طریق HDMI، که لازم بود دوربین خارجی را به سمت صفحه نمایش لپتاپ بگیرید تا ببینید در مراحل نصب با کنترل از راه دور چه اتفاقی میافتد.
اینجاست که داستان می چرخد. با اجرای GPT-OSS-120B روی GPU، ویندوز 65.4 توکن در ثانیه تولید کرد. WSL، که یک محیط لینوکس را در داخل ویندوز اجرا میکند، 65.1 توکن در ثانیه، تقریبا یکسان، میزند. واحد دسکتاپ DGX Spark که نسخه اصلی لینوکس انویدیا را اجرا میکند، با سرعت 61 توکن در ثانیه عرضه شد. با این حال، لینوکس بومی در لپ تاپ به 13.9 توکن در ثانیه کاهش یافت که تقریبا پنج برابر کندتر بود.
این شکاف دوباره با اجرای هشت کلاینت همزمان vLLM ظاهر شد: WSL به 127 توکن در ثانیه رسید در حالی که لینوکس بومی به 39.5 رسید. یک اجرای معیار طولانیتر، بهجای توان عملیاتی، همان داستان را در زمان بیان میکرد. ویندوز در حدود 8 دقیقه به پایان رسید در حالی که GPU را نزدیک به 2.2 گیگاهرتز نگه داشت. لینوکس 37 دقیقه طول کشید و پردازنده گرافیکی در تمام مدت در حدود 790 مگاهرتز پارک شده بود. دما پایین ماند، بین 40 تا 47 درجه سانتیگراد، بنابراین این یک مشکل کاهش حرارت نیست. GPU به سادگی اجازه ندارد با سرعت کامل کار کند.
به طور عجیبی، جهت مشکل بسته به منبع تغذیه تغییر می کند. بدون پلاگ، لینوکس حدود 61 تا 67 توکن در ثانیه در LM Studio، قابل مقایسه با ویندوز، داشت. با اتصال به برق، همان تست به حدود 15 توکن در ثانیه کاهش یافت. سرعت کلاک همان داستان را نشان میدهد: حدود 1800 مگاهرتز تحت بار قطع میشود، و در صورت اتصال به برق دیوار به تقریبا 780 مگاهرتز کاهش مییابد.
علت به یک جزء قابل مشاهده در Windows Device Manager به نام Nvidia Platform Controllers and Framework برمی گردد. این بخش از سیستم عامل و منطق درایور، بودجه برق مشترک بین CPU و GPU را مدیریت می کند، زیرا یک لپ تاپ (برخلاف DGX Spark دسکتاپ) باید به جای تغذیه GPU از خط خودش، توزیع انرژی را بین هر دو تراشه متعادل کند.
غیرفعال کردن این کنترلر در ویندوز مستقیما کاهش سرعت را بازتولید کرد: توکن ها در ثانیه از حدود 83 به حدود 31 کاهش یافتند و سرعت ساعت از تقریبا 2 گیگاهرتز به همان 786 مگاهرتز کاهش یافت که در لینوکس در هنگام اتصال به برق مشاهده می شد. فعال کردن مجدد کنترلر بلافاصله سرعت عادی را بازیابی کرد. این تایید میکند که کنترلکننده، نه هسته، توزیع یا خود درایور GPU Nvidia، چیزی است که لینوکس را متوقف میکند.
مشکل عمیق تر این است که سیستم عامل جدولی از تنظیمات برق را به این کنترل کننده می دهد که رمزگذاری شده است. ویندوز کلید رمزگشایی آن را دارد. لینوکس در حال حاضر این کار را نمیکند و هیچ نرمافزاری که در طول آزمایش انجام نشده است، نمیتواند آن را فعال کند، از جمله یک تلاش که باعث وحشت هسته شد. استخراج کلید رمزگشایی از درایور ویندوز بهعنوان یک راهحل تئوری مطرح شد، اما بهجای چیزی که به طور گسترده کار میکند، یک هک شکننده و تکدستگاهی است. یک اصلاح واقعی باید از منطق مدیریت انرژی معادل Nvidia در درایور لینوکس خود ارائه شود.
برای اکثر توسعه دهندگان، بله، حداقل در حال حاضر. WSL در بالای پشته درایور ویندوز اجرا میشود، بنابراین رفتار تقویت کامل GPU ویندوز را به ارث میبرد، چه لپتاپ به برق وصل باشد یا با باتری کار کند. همچنین ابزارهای اولین لینوکس هوش مصنوعی مانند vLLM و SGLang را بدون مشکل کاهش ساعت که بر نصب های لینوکس بومی تأثیر می گذارد، اجرا می کند.
یکی از تنظیمات مورد نیاز حافظه است. WSL به طور پیشفرض تنها 14 گیگابایت ذخیره میکند، که برای حجم کاری مدلهای بزرگ در یک دستگاه حافظه یکپارچه 128 گیگابایتی کافی نیست، بنابراین باید تخصیص به صورت دستی افزایش یابد. هنگامی که این کار انجام شد، معیارهای WSL نزدیک به عملکرد بومی ویندوز قرار میگیرند و تا زمانی که Nvidia به طور مستقیم به شکاف درایور لینوکس رسیدگی کند، آن را به گزینه عملیتر تبدیل میکند.
بله. بوت دوگانه روی لپتاپ MSI Prestige RTX Spark با استفاده از Omarchy، یک توزیع لینوکس که قبلا شامل درایور هسته باز انویدیا برای این تراشه بود، نشان داده شد، پس از تلاش اولیه با دبیان که نیاز به راهحلهای راهحلهای شبکه و درایور دستی داشت.
یک مؤلفه سفتافزار فقط ویندوز به نام Nvidia Platform Controllers and Framework، اشتراکگذاری انرژی را بین CPU و GPU مدیریت میکند. بدون معادل لینوکس، سرعت ساعت پردازنده گرافیکی زمانی که لپتاپ به برق وصل میشود، در حدود 780 مگاهرتز قفل میشود، در حالی که این سرعت در ویندوز تقریبا 2.2 گیگاهرتز است.
کمک قابل توجهی می کند. در مصرف باتری، ساعتهای گرافیکی لینوکس و توان عملیاتی توکن به سطوح ویندوز نزدیکتر میشوند. کندی شدید سرعت به طور خاص زمانی ظاهر میشود که لپتاپ به برق دیواری متصل میشود، که برعکس چیزی است که اکثر کاربران انتظار دارند.
دقیقا نه، اما در عمل نزدیک است. WSL یک محیط لینوکس را در بالای هسته ویندوز و پشته درایور اجرا میکند، بنابراین رفتار تقویت ساعت GPU ویندوز را حفظ میکند و از بروز مشکل جلوگیری میکند، در حالی که همچنان از ابزارهای هوش مصنوعی لینوکس مانند vLLM پشتیبانی میکند.
این بستگی به این دارد که Nvidia منطق مدیریت انرژی کنترلر پلتفرم را در درایور لینوکس خود ارسال کند. میز قدرت سیستم عامل رمزگذاری شده در حال حاضر فقط توسط ویندوز قابل رمزگشایی است، و هیچ راه حلی تاکنون یافت نشده است که بدون آن سرعت کامل ساعت را در لینوکس بازیابی می کند.
متن اصلی (انگلیسی)
Nvidia RTX Spark encrypted firmware slows inference speed to 35% on Linux
Article URL: https://www.mindstudio.ai/blog/linux-nvidia-rtx-spark-laptop Comments URL: https://news.ycombinator.com/item?id=50362905 Points: 356 # Comments: 176