Использование CLMUL в SICStus Prolog - PullRequest
       78

Использование CLMUL в SICStus Prolog

2 голосов
/ 27 сентября 2019

Как я могу заставить SICStus Prolog JIT использовать любой из следующих ISA ?

Они нужны мне для наддува .Прямо сейчас я получил:

  1. http://www.hackersdelight.org/ и

  2. арифметическую функцию, отличную от ISO msb/1.

Для начала это хорошо, но я хочу больше . Пожалуйста, помогите!

1 Ответ

1 голос
/ 30 сентября 2019

К сожалению, у пользователей нет возможности расширить JIT для таких случаев, как этот.

Я думал о доступе к инструкциям по подсчету населения (для некоторых не связанных применений) из Пролога.Способ добавления этой и других аналогичных инструкций будет следующим:

  1. Добавить новую арифметическую инструкцию к is/2.Это должно поддерживаться всем нашим кодом, а не только JIT-скомпилированным кодом, поэтому интерпретатор, WAM-эмулятор, различные внутренние процессоры байт-кода, все статические анализаторы в нашей IDE и т. д. и т. п.
  2. Добавьте JIT-компиляцию, которая просто вызывает обратно в соответствующую подпрограмму C в системе времени выполнения.
  3. Если можно продемонстрировать, что производительность значительно повышается, сделайте JIT-компиляторвыдает инструкции ЦП специального назначения для целей, у которых они есть.

(1) требует достаточного пользовательского спроса (или, конечно, явного финансирования).(3) требует убедительных ориентиров.В настоящее время ни один из них не доступен, но, конечно, это может измениться.

...