На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (2) 1 [2]  все  ( Перейти к последнему сообщению )  
> Цэ vs LLVM , рассуждения ...
    M

    LLM, покайся! Не знаю, Борис ли ты - но ты непарв!
    Сообщение отредактировано: JoeUser -
      Цитата applegame @
      Чота какой-то крайне унылый вброс.

      Ну што?!! >:( Вторая часть марлезонского балета, господа присяжные заседатели!

      С вашего позволения - командовать парадом буду я (L) ...

      Для начала разговора давайте освежим в памяти все аспекты LLVM по скромной ссылке из вики - это лежит тут. Чтобы ничего не убежало из нашего пристального взгляда, мы должны понимать, что любая глава из вышеуказанной ссыли имеет значение, (пусть) равное и (пусть) неоспоримое.

      Итак ... читаем "LLVM (ранее Low Level Virtual Machine[5]) — универсальная система анализа, трансформации и оптимизации программ, реализующая виртуальную машину с RISC-подобными инструкциями". Да, действительно, когда-то, когда многие из спопящих заканчивали средние классы не мение средней школы, такие системы на базе RISC-технологии, как UltraSPARC - считались просто божеством тогдашних технологий. Я не ёрничаю, современный комп от интела, стоящий рядом в моей лабе имел целых!!! 16 Мегабайт оперативы. Я боюсь быть позорно неточным, в той лабе я поработал по переводу месяца три, но на слуху отложилось, что лаба тестировала некий симбиоз аппрататно-программного АЛУ на 64 RISC-процах. Для точночти - примерно 1993 год, тогда еще Институт Технической Кибернетики Академии Наук БССР (позже уже РБ). Исторический экскурс заканчиваем ...

      Итак LLVM и подход-RISC

      Чем же это было революционно в то время? Если грубо - упрощаем набор команд (не по количеству, а по скорости исполнения, по тактам), строим и оптимизируем кэширование, уже потом - строим предугадывание. Не, чо, все ровно!!! На то время модно и современно. LLVM это все патриотично впитал, нет базара!

      А что сегодня?

      А давно уже сегодня появилась тьма спецификаций типа SSE и иже с ней куча версий до сего дня. Стопэ, товарисчи, а туда ли мы идем??! Сперва была попытка все раздербанить на "сложение/вычитание", а тут все наоборот, штоле?!!! Какие-то скалярные типы (команды а ля CVTSI2SS, CVTSS2SI, CVTTSS2SI), упакованные типы (команды а-ля CVTPI2PS, CVTPS2PI, CVTTPS2PI), почему-то к кэшу дали доступ (команды а-ля MOVNTQ, MOVNTPS, MASKMOVQ, PREFETCH0, PREFETCH1, PREFETCH2, PREFETCHNTA, SFENCE), что за бесовщина?! Омериканская холодная война в области IT?

      Меня тут типа спрашивали

      Цитата
      ой мама. Набросай-ка jit на C, а потом рассказывай про ненужность LLVM

      А в чем проблема? Сам LLVM на машинном коде писан? Все конструкции LLVM можно реализовать на Цэ. Только вот возникает вопрос ... Почему некоторая часть IT-комьюнити уже некоторое время задается вопросом "а не создать ли нам аппаратный Forth-процессор?". Я понимаю, лавэ, то, се, интересы жЫрных компаний ... Но тренд каков? Опять не в пользу RISC-подхода! Я человек не обремененный социальными обязательствами, могу дополнить - Цэ универсален! Можно и в системную область влезть, можно и в предметную и выше.

      Цитата Qraizer @
      JoeUser, смотри на LLVM как на переносимый ассемблер. По сути так и есть, т.к. бэкенд-компайлер из LLVM в натив входит в любую компилирующую среду разработки, использующую LLVM как промежуточную платформу.

      Да, дружище - ты прав! На счет LLVM. Но и Си - "как на переносимый ассемблер". Не? А ведь он не на столько "высокоуровнее"))) Отношу тебя к стате в вики по LLVM (по типам тамошних данных, операциями с памятью, операциям) ... Ну вот скажи чо, это Цэ не может? (про реализацию компайлеров не говори - прокляну!)

      С бестами и регардами,
      JoeUser

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

        Добавлено
        Или давай рассмотрим один из аспектов llvm - готовая инфраструктура для backend компилятора. Чем активно пользуются. Один из примеров - kotlin native, который не стал городить собственный бэкенд, а получил его на халяву (ну почти).
        user posted image
          Цитата JoeUser @
          Все конструкции LLVM можно реализовать на Цэ.
          Любую инструкцию можно реализовать на любом языке. Причём Си тут не слишком и выделяется. Так что…
          Цитата JoeUser @
          Почему некоторая часть IT-комьюнити уже некоторое время задается вопросом "а не создать ли нам аппаратный Forth-процессор?".
          Об аппаратном forth-процессоре речь ведётся с момента появления самого языка FORTH. А это 70-е годы - более 40 лет.
          Точно так же велась речь о создании LISP-процессора.
          И, внимание, оба были в своё время созданы. Тут вопрос в другом, почему сейчас про них все напрочь позабыли и поднимают вопрос о создании такого процессора снова?

          Си получил такое звание - "переносимый ассемблер" - потому, что давал сравнимые с автокодами возможности по доступу к аппаратуре ЭВМ, и в то же время мог был достаточно эффективно реализован на всех существующих платформах.
            Цитата amk @
            Любую инструкцию можно реализовать на любом языке.

            Вот только не надо бездоказательных инсинуаций!!! Не видел драйвера (в виде "любых инструкций") на языке Джава.

            Цитата amk @
            Об аппаратном forth-процессоре речь ведётся с момента появления самого языка FORTH. А это 70-е годы - более 40 лет.
            Точно так же велась речь о создании LISP-процессора.

            Можно ссыль? Ни разу не слышал об аппаратном Форт-процессоре :)

            БИНГО!

            Цитата amk @
            Си получил такое звание - "переносимый ассемблер"

            А што же такое тогда LLVM? :lol:

            D_KEY, давай на затравки просто скромно изменим на твоей схеме - заменим блок "LLVM оптимизатор" на схожий "Си оптимизатор"... Неужели синтаксис Си так убог по сравнению с синтаксисом LLVM??? :-?
              Цитата JoeUser @
              D_KEY, давай на затравки просто скромно изменим на твоей схеме - заменим блок "LLVM оптимизатор" на схожий "Си оптимизатор"...

              Си оптимизатор намного сложнее. А остальные части чем заменить? Вон в js как компилировать будешь? :D

              Пример с opencl и spir-v проигнорировал?
                Цитата JoeUser @
                Да, действительно, когда-то, когда многие из спопящих заканчивали средние классы не мение средней школы, такие системы на базе RISC-технологии, как UltraSPARC - считались просто божеством тогдашних технологий

                В смысле «считались»? SPARC и сейчас вполне хорошие процы, не то что эти ваши meltdown'утые интели-шминтели.

                А RISC и сейчас популярная архитектура:
                Цитата
                In the 21st century, the use of ARM architecture processors in smartphones and tablet computers such as the iPad and Android devices provided a wide user base for RISC-based systems. RISC processors are also used in supercomputers such as Summit, which, as of November 2018, is the world's fastest supercomputer as ranked by the TOP500 project.

                https://cs.stanford.edu/people/eroberts/cou.../risc/risccisc/

                Ну и Интел от чистого CISC давно перешёл к гибридной микроархитектуре с RISC'ом внутри.
                  Вообще, какое-то странное противопоставление. С - это язык. LLVM - это нечто гораздо большее - это целая инфраструктура.
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0403 ]   [ 16 queries used ]   [ Generated: 19.03.24, 08:51 GMT ]