Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: WebAssembly |
|
|
KPG писал(а): Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула. Ничего не понял. Что писать-то на этом всем? Какие регистры, что и куда? Сегодня ситуация такая - wasm предназначен для запуска промежуточного кода, генерируемого разными языками. При чем тут отсутствие стековой архитектуры в поле массового использования?
[quote="KPG"]Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула.[/quote] Ничего не понял. Что писать-то на этом всем? Какие регистры, что и куда? Сегодня ситуация такая - wasm предназначен для запуска промежуточного кода, генерируемого разными языками. При чем тут отсутствие стековой архитектуры в поле массового использования?
|
|
|
|
Добавлено: Сб янв 09, 2021 20:11 |
|
|
|
|
|
Заголовок сообщения: |
Re: WebAssembly |
|
|
Hishnik писал(а): И зачем вдруг такое? Для достижения пиковой производительности именно на Форте? Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула. P.S. По поводу производительности стэкового кода - как его смогли ускорить в Java Jit? А, как насчёт бутылочного горлышка x86 комманд и их постоянного ускорения? Hishnik писал(а): Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc. Чем Бэйсик с этих позиций был плох?
[quote="Hishnik"]И зачем вдруг такое? Для достижения пиковой производительности именно на Форте? [/quote] Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула.
P.S. По поводу производительности стэкового кода - как его смогли ускорить в Java Jit? А, как насчёт бутылочного горлышка x86 комманд и их постоянного ускорения?
[quote="Hishnik"] Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc. [/quote] Чем Бэйсик с этих позиций был плох?
|
|
|
|
Добавлено: Сб янв 09, 2021 20:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: WebAssembly |
|
|
KPG писал(а): Вот когда аппаратно выведут стековую архитектуру в поле массового использования тогда и можно будет что обсуждать. И зачем вдруг такое? Для достижения пиковой производительности именно на Форте? Так она объективно не достигается, поскольку увеличение количества адресов (индексов) в команде способствует увеличению производительности. Стек - бутылочное горлышко для вычислений. С помощью процессоров с аппаратным стеком можно увеличивать производительности кода на Форте, если уж такой код откуда-то взялся по другим соображениям, но соображений брать именно Форт для высокой производительности нет. На современном этапе производительность основана на корректном применении связки CPU/GPU/FPGA в необходимых сочетаниях. Бессмысленно даже начинать проект, который на Форте обгонит GPU в построении трехмерных изображений, однако вызывать код для GPU можно из разных языков. Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc. Так что и фреймворк в виде DSL на базе Форта вполне представим. Делать из него непременно низкоуровневый сверхбыстрый код (а то и вообще Форт-ОС) - совершенно другая задача с крайне сомнительными перспективами, и нет смысла утыкаться в нее, игнорируя действительно перспективные подходы.
[quote="KPG"]Вот когда аппаратно выведут стековую архитектуру в поле массового использования тогда и можно будет что обсуждать. [/quote] И зачем вдруг такое? Для достижения пиковой производительности именно на Форте? Так она объективно не достигается, поскольку увеличение количества адресов (индексов) в команде способствует увеличению производительности. Стек - бутылочное горлышко для вычислений. С помощью процессоров с аппаратным стеком можно увеличивать производительности кода на Форте, если уж такой код откуда-то взялся по другим соображениям, но соображений брать именно Форт для высокой производительности нет.
На современном этапе производительность основана на корректном применении связки CPU/GPU/FPGA в необходимых сочетаниях. Бессмысленно даже начинать проект, который на Форте обгонит GPU в построении трехмерных изображений, однако вызывать код для GPU можно из разных языков. Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc. Так что и фреймворк в виде DSL на базе Форта вполне представим. Делать из него непременно низкоуровневый сверхбыстрый код (а то и вообще Форт-ОС) - совершенно другая задача с крайне сомнительными перспективами, и нет смысла утыкаться в нее, игнорируя действительно перспективные подходы.
|
|
|
|
Добавлено: Сб янв 09, 2021 20:00 |
|
|
|
|
|
Заголовок сообщения: |
Re: WebAssembly |
|
|
Hishnik писал(а): https://webassembly.github.io/spec/core/
Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация.
Наверное черпали вдохновление смотря на Java byte code и CLI (C#) и фиг ещё знает что. А, про DUP почему забыли? (и другие стэковые операторы) Hishnik писал(а): WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой. корни WebAssembly, возможно, уходят ещё и к Tamarin Tracing (JS V8) P.S. Вот когда аппаратно выведут стековую Форт архитектуру в поле массового использования тогда и можно будет что обсуждать.
[quote="Hishnik"]https://webassembly.github.io/spec/core/
Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация. [/quote] Наверное черпали вдохновление смотря на Java byte code и CLI (C#) и фиг ещё знает что. :) А, про DUP почему забыли? (и другие стэковые операторы) [quote="Hishnik"] WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой.[/quote] корни WebAssembly, возможно, уходят ещё и к Tamarin Tracing (JS V8)
P.S. Вот когда аппаратно выведут стековую Форт архитектуру в поле массового использования тогда и можно будет что обсуждать. :)
|
|
|
|
Добавлено: Сб янв 09, 2021 19:47 |
|
|
|
|
|
Заголовок сообщения: |
WebAssembly |
|
|
https://webassembly.github.io/spec/core/Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация. WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой.
https://webassembly.github.io/spec/core/
Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация.
WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой.
|
|
|
|
Добавлено: Сб янв 09, 2021 19:12 |
|
|
|
|