Pull to refresh

Comments 37

Благодаря Prism приложения будут работать на 10–20% быстрее на том же оборудовании.

Важно, на сколько это медленнее работы на х86 без эмулятора.

Те кто не испольует ноутбук для работы (а это большинство) скорее всего даже и не заметят что что-то там работает через эмулятор

Ну, у нас всякие условные фотошопы и другой тяжёлый софт люди и не для работы используют. Я не утвержлаю, что всё плохо, мне просто интересно. К тому же, ARM сейчас уже лаже на серверы ставить начали и речь врядли только о ноутбуках.

Те кто ставят ARM на серверы точно перекомпилировали всё под него, и эмуляторами не пользуются вообще.

Тяжёлые программы тоже в основном перенесены. Но вот домашний пользователь может сидеть на старой версии Фотошопа, у которой нет ARM версии. Тогда лучше оставаться на Интел.

Да, можно компилировать под arm, но в зависимости от приложения оно может исполняться медленнее на arm, чем на x86 и наоборот.

Из-за несоответствия инструкций архитектуры процессоров, скомпилированный код может иметь разное количество инструкций в x86 и в arm исполнении, и для выполнения будет требоваться больше тактов процессора.

Эмуляция в любом случае медленнее. Конечно, бывают случаи, когда JIT на основе рантайм статистики может сгенерить оптимальный код под конкретные входные данные (о которых статический компилятор не знает), и при трансляции из более-менее высокоуровневого байткода это реально, но получить на этом выигрыш в среднем по приложению на x86->aarch64 - это надо очень сильно постараться.

Ну и скорость работы определяется больше микроархитектурой конкретного процессора, а не ISA (хотя она тоже влияет).

Если оно действительно будет так же эффективно как Rosetta 2, то можно ожидать производительности вплоть до аналогичной нативному кода. Прошу заметить слово "вплоть", потому что на Rosetta 2 производительность, в зависимости от приложения, пляшет от "очень плохо" до "никакой разницы с нативным кодом". Правда с сильным перевесом в сторону последнего.

Ну а нативный фотошоп под ARM уже давно завезли

Я поэтому и написал "условный фотошоп". Подставьте любое другое тяжелое приложение, которое не завезли и которое используют домашние пользователи.

С такими приложениями брать АРМ нет смысла. Хотя бы до хороших тестов именно вашего приложения. Производительность может быть любой. Сидеть на Интеле и точно проблем не будет.

Все массовое и тяжелое быстро соберет АРМ версии. Под Маки это уже все прошли, проблем теперь нет.

Эмуляция нужна для совместимости того миллиона приложений которым производительность вроде не особо нужна, перекомпилировать их не будут по разным причинам, а пользователи есть.

Мне кажется тем, кто использует ноут для современных игрушек, оно как раз таки важно.

Впринципе скорость обратной эмуляции можно оценить на Android, установив winlator. Скажу от себя, что даже игры вполне себе тянет.

Интересно - насколько крепко qualcomm держит за яйца майкрософт что у них до сих пор есть экслюзивные права на винду под ARM.

Скорей сколько qualcomm платит, что бы оставаться эксклюзивной платформой.

Судя по скорости распространения ARM устройств на винде, либо у qualcomm очень большие надежды на какое-то возможное и очень отдаленное будущее, либо *надевает шапочку из фольги* эппл им втихую приплачивает чтобы конкретно так затормозить windows on arm. Потому что сколько я не читаю про windows on arm все сходятся на мнении что пока есть эксклюзивность с qualcomm - это не взлетит.

Скорее наоборот. Microsoft решила повторить о, что делает apple, и получить преимущество от такой тесной интеграции HW и SW.

Следующим шагом у них может быть создание Xbox на основе ARM для популяризации среди игроделов

Следующим шагом у них может быть создание Xbox на основе ARM для популяризации среди игроделов

На сегодняшний день это выстрел в ногу и практического смысла в этом, в общем то, нет. Всех сейчас устраивает что все консоли (за исключением как всегда отличившейся нинтендо) обычные x64 компы с некоторыми особенностями. Особенно всех устраивает то что это решает абсолютно все вопросы с обратной совместимостью.

Тут такое дело, со всех утюгов про преимущество ARM вещают, Майки могут и не только с консолями попробовать. Тут ведь какое дело, кто первый встал - того и тапки, а последнему может и ложки не хватить. Майки могут рискнуть и вложить пару тройку лярдов. Если выстрелит хорошо, не выстрелит ну да и черт с ним.

Следующим шагом у них может быть создание Xbox на основе ARM для популяризации среди игроделов

Xbox сейчас вообще бьется в агонии, а PlayStation только (относительно) недавно на х86 перешла - PS4.

Тут такое дело, со всех утюгов про преимущество ARM вещают,

Преимущество ARM нерелевантно для стационарных игровых консолей. Им не нужна ни портативность, ни низкое энергопотребление, а запаса производительности для эмуляции там и сейчас нет - уже есть игры, которые не способны в >30 FPS на PS5.

Xbox360 был на PowerPc и поменяли там архитектуру примерно в одно время с PS4

Чтобы получить преимущество от тесной эмуляции HW и SW, надо для начала иметь хорошее HW. Apple Silicon очень серьёзно тащит за счёт сверхбыстрой интегрированной в процессор памяти, а у Qualcomm, насколько мне известно, этого нет.

Думаете память является ботлнеком?

Или может это просто выгодно распаять дешёвую память и продавать за сотни долларов?

Точно является. На сравнительных тестах очень хорошо видно.

Не знаю, что вы подразумеваете под сверхбыстрой, но Apple использует такую же память, что и все остальные. В распайке как и в uma тоже нет ничего нового.

Я не эксперт в этой области, но заявление, что память - это ключевой фактор чтобы "тащить" крайне сомнителен.

Apple использует интегрированную в корпус процессора оперативную память, которая благодаря коротким сигнальным линиям шины имеет высокую скорость доступа, до 400 гигабайт в секунду для процессора M3 Max.

У Intel максимальный показатель – 100 гигабайт в секунду для 8 одновременно работающих каналов Xeon, но, чтобы такая производительность реализовалось, нужно, чтобы одновременно происходил доступ к 8 разным модулям памяти в 8 каналах, что практически невероятно на одной задаче и маловероятно даже для мультизадачной нагрузки.

На практике в типичных для настольного компьютера сценариях скорость произвольного доступа к оперативной памяти у Apple на порядок превосходит таковую у Intel. Даже притом, что для последовательного доступа это отчасти компенсируется кешем с предвыборкой, и притом, что сами функциональные блоки процессора у Intel побыстрее, но всё равно память для Intel является основным узким местом, и процессоры Apple в целом быстрее на типичных для рабочих станций задачах, хотя медленее на последовательной конвейерной обработке массивов данных. Ну тут надо учесть ещё то, что у Apple есть в составе процессора нейронные ядра и GPU, и тяжёлые вычислительные программы могут задействовать и их тоже.

На практике, если вы запрограммируете какой-нибудь банальный обход двумерного массива по строкам или по столбцам, то на процессоре Intel увидите разницу в производительности до двух раз, а на процессоре Apple разницы практически нет. Тем более разница между процессорами относится к динамическим структурам данных вроде связанных списков.

Думаю, что Intel и другие разработчики процессоров тоже вскоре перейдут в ряде конфигураций на unified memory, так как это реально очень важно для производительности на совеременном уровне развития вычислительной техники. Intel уже, вроде, представил Xeon Max с UM.

Возьмем ваш пример с обходом двумерного массива. В данной задаче важна не пропускная способность, а скорее задержка. Предполагаю чем ближе память, тем меньше задержка. Ну так память распаивают на чипе и в snapdragon и в exynos. Сомневаюсь, что обход того же двумерного массива на exynos будет быстрее, чем на том же intel / amd. И если я прав, то значит задержка не решающий фактор.

Я не проверял ваши цифры, но мне кажется найти задачу, которая утилизирует хотя бы 100 гб шины и не уткнется в процессор / ssd очень сложно.

Память работает полностью синхронно, поэтому латентность (задержка) пропорциональна пропускной способности. Всякие там циферки типа 5-1-1-1 – как раз об этом.

Естественно, что сверхбыстрая память ничего не даст, если сами функциональные блоки медленные. Но у Intel процессор сильно быстрее памяти, это факт.

Или другой пример. Если память является ботлнеком и ключевым фактором, почему Apple M3 находится на 186 позиции в рейтинге cinebench? Несмотря на то, что процессоры над ним имеют сокет и многие из них используют старую ddr4 память

https://nanoreview.net/en/cpu-list/cinebench-scores

Я не знаю, что именно меряет этот рейтинг, но там на 24 позиции находится M2, который, по идее, хуже M3, находящегося на 186 позиции. Что показывает, что сами по себе участники рейтинга надёрганы абы как. Ну и надо смотреть конкретный код. В какой-то ситуации память не является ключевым фактором. Я говорю о типичных задачах рабочей станции, то есть о последовательном исполнении разнородного не особо оптимизированного кода.

На 24 позиции находится десктопный M2 Ultra, это совершенно другой класс

В 2016 году Microsoft заключила соглашение с Qualcomm на разработку Windows-совместимых чипов. Действие соглашения закончится в 2024 году, и Microsoft активно призывает других производителей выходить на этот рынок по истечении этого срока

(источник)

Но Win ARM прекрасно работает на Parallels в Apple M.

По некоторой информации срок этого соглашения заканчивается в этом году. Но точно даты не называли

Старые игрушки потянет? Ждем новые консоли на arm а-ля стимдек?

Да вроде как и, скажем, BG3 нормально бегает.

Prism поможет пользователям полностью раскрыть возможности Snapdragon X Elite и их нейронных чипов (NPU) для задач искусственного интеллекта.

Интересно как они задействуют NPU в x86 коде.

Проблема всех текущих эмуляторов и трансляторов заключается в том, что они имеют значительные потери на трансляции векторных инструкций x86 в ARM. В самом ARM нет полноценного аналога последних векторных инструкций х86 (кажется, в ARMv8 появился полноценный аналог только последних версий инструкций SSE x86). При этом, сами же эмуляторы и трансляторы, похоже, не используют последние векторные инструкции, которые могут быть в SoC (к примеру, было заявлено, что в Snapdragon X Elite добавлены новые инструкции процессора. Я предполагаю, что это как раз те самые долгожданные полноценные векторные инструкции, с которыми потерь производительности не будет)

Если ваши задачи не опираются на векторные инструкции, то, похоже, может быть достигнута производительность, близкая к нативной. Если ваши задачи целиком и полностью состоят из векторных инструкций (например, игры и некоторые задачи), то производительность может теряться почти полностью. Но не стоит быть пессимистичными, транслятор Microsoft имеет потери только на CPU. ОЗУ, ПЗУ, ГП и прочее работают нативно, без потерь (проверял в бенчмарках). К тому же, некоторые новые игры уже поддерживают API DirectX 12, снижающий нагрузку всей игры на ЦП в среднем в 2 раза. Также имеется нативная поддержка API Vulkan в последних чипах Qualcomm, что тоже позволяет снижать нагрузку на ЦП (например, вы можете использовать DXVK, если он у вас заработает (в чём я пока что сомневаюсь)). Хоть и производительность может быть не сравнима с нативной, но, возможно, вам ее будет достаточно.

 было заявлено, что в Snapdragon X Elite добавлены новые инструкции процессора. Я предполагаю, что это как раз те самые долгожданные полноценные векторные инструкции

Вроде как там только обычный NEON, который есть в любом телефоне - по крайней мере тут пишут, что SVE/SME нет (их скорее добавляют на серверные ARM).

Sign up to leave a comment.

Other news