Войти
ПрограммированиеФорумОбщее

Практическое применение SSE расширения. (Комментарии к статье)

#0
18:58, 22 мар 2004

Комментарий к Статье Практическое применение SSE расширения

#1
18:58, 22 мар 2004

прочёл статью - отлично написано. Для меня сейчас одно только неясно - выравнивание надо производить для физического адреса памяти или логичнского выделяемого ОС? кто есть живой просветите плз.

#2
19:06, 22 мар 2004

Max_Fly
Относительно  16 байт (и даже 4096) адреса физичекой памяти и логичекой выравнены одниково. Не забивай голову :)

#3
20:12, 22 мар 2004

jm
Дарова, дружище!
Наконец-то ты ее дописал :-)
Молодец- мне понравилось! Нам сейчас, как раз, читают нечто похожее на базе.

Очередной раз убедился в том, что не зря называю тебя "фанатом матриц", за что, тут же, сам был назван "человеком-пароходом" ;-)
Себя я тоже считаю виноватым- давно к тебе в IRC не ломился. Постараюсь исправиться :)
Лане привет.

Да простят меня модераторы за офф-топ %)

#4
20:29, 22 мар 2004

voxatu
хаха :) пять баллов :).. Ну и с Добрым утром.

#5
10:13, 23 мар 2004

_Winnie
согласен - тут я наверное перемудрил. Просто от QNX-а мозги заворачиваются. :). Кстати если перемножать так как на интеле (и в этой статье показательно показано) это получается здорово. А вот при попытке перемножить две матрицы размером этак 1000х500 - фигня выходит. получается тот самый пример - как делать не надо ;-). Кто знает хороший способ транспонирования матриц - не сочтите за наглость - ткните носом.

Прошло более 1 года
#6
11:23, 26 июля 2005

Классная статья, но.... Вот что у меня получается при попытке компилировать в Release:
pure dp : 0.000002 result: 10.000000
fpu  dp : 0.000002 result: 10.000000
sse  dp : 0.000003 result: 10.000000
pure cp : 0.000002 result: (-4.000000 8.000000 -4.000000 0.000000)
fpu  cp : 0.000002 result: (-4.000000 8.000000 -4.000000 0.000000)
sse  cp : 0.000003 result: (-4.000000 8.000000 -4.000000 0.000000)
sse  mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
sseb mmm: 0.000019 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
ssei mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]
pure mmm: 0.000009 result:
[0.000000 1.000000 2.000000 3.000000]
[4.000000 5.000000 6.000000 7.000000]
[8.000000 9.000000 10.000000 11.000000]
[12.000000 13.000000 14.000000 15.000000]

Я чуть не заплакал, увидев это :-(( проц Athlon Barthon 2500+ , 512 Mb

#7
13:50, 26 июля 2005

Freezy
от счастья?

#8
14:31, 26 июля 2005

Какое тут счастье? Разве не видно, что Pure C обделывает реализацию на ASM :'(((

Прошло более 5 лет
#9
15:26, 8 сен 2010

Насколько понимаю в статье ошибка. Причём это видно по картинке.
shufps  xmm0,xmm0,00011011b не переворачивает, а сохраняет порядок.
Переворачивает как раз shufps  xmm0, xmm0, 11100100b

ПрограммированиеФорумОбщее

Тема в архиве.