Size: a a a

Compiler Development

2019 December 30

M

MaxGraey in Compiler Development
EgorBo
<4 x 4 x double> %matrix
Ну если они еще и символьные оптимизации над векторной алгеброй научаться, то в этом определенно есть смысл
источник

МБ

Михаил Бахтерев in Compiler Development
Хотя... LLVM же.
источник

E

EgorBo in Compiler Development
MaxGraey
Ну если они еще и символьные оптимизации над векторной алгеброй научаться, то в этом определенно есть смысл
непонятно как представлять матрицы переменного размера
источник

МБ

Михаил Бахтерев in Compiler Development
MaxGraey
Ну если они еще и символьные оптимизации над векторной алгеброй научаться, то в этом определенно есть смысл
А чем уже существующих векторизаторов не хватает?
источник

M

MaxGraey in Compiler Development
EgorBo
непонятно как представлять матрицы переменного размера
Как как, через брочную матрицу
источник

FO

FORTRAN ONE LOVE in Compiler Development
Михаил Бахтерев
А чем уже существующих векторизаторов не хватает?
AVX-512 имеется в виду?
источник

E

EgorBo in Compiler Development
MaxGraey
Как как, через брочную матрицу
а как тогда писать мат.функции?
источник

M

MaxGraey in Compiler Development
сомственно 4x4 это минимальный базовый блок
источник

E

EgorBo in Compiler Development
а если у меня 3х3 ?
источник

E

EgorBo in Compiler Development
матрица поворота к примеру
источник

МБ

Михаил Бахтерев in Compiler Development
Базовый блок должен быть по размеру линии кэша в квадрате
источник

E

EgorBo in Compiler Development
2*2
источник

AK

Andrei Kurosh in Compiler Development
Михаил Бахтерев
А для чего ещё нужны языки общего назначения? Они исторически появились для нужд инженерных и научных рассчётов.
Круды для веба писать, понятное дело :)
источник

E

EgorBo in Compiler Development
Andrei Kurosh
Круды для веба писать, понятное дело :)
даешь @llvm.sqlconnection интринсики
источник

M

MaxGraey in Compiler Development
EgorBo
а как тогда писать мат.функции?
Ну транспонирование, умножение, дискриминант в общем виде можно вычислить через блочные алгоритмы:
https://en.wikipedia.org/wiki/Block_matrix
источник

МБ

Михаил Бахтерев in Compiler Development
FORTRAN ONE LOVE
AVX-512 имеется в виду?
Я имею в виду, что существуют же алгоритмы векторизации, которые хорошо справляются с упаковкой циклов по матрицам, как раз, в SSE, AVX и прочее
источник

E

EgorBo in Compiler Development
Михаил Бахтерев
Я имею в виду, что существуют же алгоритмы векторизации, которые хорошо справляются с упаковкой циклов по матрицам, как раз, в SSE, AVX и прочее
напиши просто цикл транспонирования матрицы и посмотри что векторизатор тебе нагенерит
источник

МБ

Михаил Бахтерев in Compiler Development
Andrei Kurosh
Круды для веба писать, понятное дело :)
Как я отстал от жизни. Пошёл гуглить, что такое круды. Но вообще, как бы numpy нас учит, что арифметика над всевозможными кольцами весьма людьми приветствуется. Поэтому, кажется, вполне можно в базовые значения языка включить и тензоры. Мы ж включаем в языки функции и ассоциативные массивы. Чем матрицы, комплексные числа, кватернионы и прочие алгебры Грассмана хуже?
источник

МБ

Михаил Бахтерев in Compiler Development
EgorBo
напиши просто цикл транспонирования матрицы и посмотри что векторизатор тебе нагенерит
Смотря как писать, наверное? Я же могу развернуть руками. Или нельзя?
источник

E

EgorBo in Compiler Development
Михаил Бахтерев
Смотря как писать, наверное? Я же могу развернуть руками. Или нельзя?
кодген не будет эффективным
источник