Pull to refresh
26
0

Программист С++

Send message
С вами невозможно спорить ;)
Решение напрашивается само собой. Звучит как план ;)
Ну это уже вам давать оценку какой повреждений считать приемлемым ))) Тут упоминали Игоря Негоду. У них хвост модели успел отгореть, пока они опомнились. Так что каждый сам решает. Я бы так не рискнул, особенно учитывая стоимость движков.
200 кг взлётный вес, 60 кг тяги. Это реально overpower.
Посмотрите скорость подачи топлива в двигатель на старте. Умножьте на два, если двигатели сфейлятся одновременно, но это, думаю, уже действительно маловероятно. Сколько времени надо чтобы выключить двигатель, взять огнетушитель в руки, активировать его? Посчитайте количество залитого горящего керосина. Это при условии, что он не замешкается и не ошибётся. Когда такая процедура не отработана, ошибки на нервах будут сделаны 100%. А гореть то будет возможно уже часть несущей конструкции. В этом отличие кучи огнетушителей от одного огнетушителя наготове.
Сам планерист. Дядьки — красавчики. 60 кг тяги на примерно 200 кг (пилот же) взлётного веса это тема.
Теперь о печальном. Походу они не отгребали пока ни разу с этими двиглами. Заводить надо вдвоём, один контролирует процесс, второй стоит с огнетушителем на готове. Не приведи господь в случае сбоя им в заднюю полость горящий керосин рекой польётся.
Собственно потенциально возможные проблемы блокируют возможность безопасного запуска двигателей в воздухе.
Девочек мы все любим не за их мнение о движках… ;-)

Про X-Ray стоит послушать самих создателей X-Ray, которые теперь в 4A. По их же словам, под новые требования, например стриминг, проще написать новый, чем править старый. А судя по последнему Метро, в движках они что-то понимают.
Когда игры на новом движке появятся, тогда и оценим труды. С нетерпением ждём.
Такой бы цикл статьей, да про самолёты.
Увы, да. Однако это проблема тех, кому нужен double.
В основном да. Но исключения всё-таки есть. Та же _mm256_permute4x64_pd.

SELECT4(src, control){
	CASE(control[1:0])
	0:	tmp[63:0] := src[63:0]
	1:	tmp[63:0] := src[127:64]
	2:	tmp[63:0] := src[191:128]
	3:	tmp[63:0] := src[255:192]
	ESAC
	RETURN tmp[63:0]
}

dst[63:0] := SELECT4(a[255:0], imm8[1:0])
dst[127:64] := SELECT4(a[255:0], imm8[3:2])
dst[191:128] := SELECT4(a[255:0], imm8[5:4])
dst[255:192] := SELECT4(a[255:0], imm8[7:6])
dst[MAX:256] := 0
Я бы не назвал это прям уж проблемой. Иногда ymm нужен именно как спаренный sse (для float индекс будет в диапазоне 0-3), а иногда как один большой регистр с независимыми числами (в этом случае для float уже нужен индекс в диапазоне 0-7). Проблема, что они вторую часть реализуют в следующем наборе, или не реализуют вообще. Как пример, выше упомянутая _mm256_permute4x64_pd.
i7-3770:
x86: тормозят все реализации раза в 2 от ожидаемых
x64: все SSE быстрые, все AVX медленнее в 20-30 от ожидаемых
На 8700K сказали не проявляется.
AVX_v1 быстрее без стриминга. AVX_v2 быстрее со стримингом.
Бенчмарки делаю, но пока не очень получается. Пока погоду показывают. Ни линукса, ни ICC (он вроде платный) у меня под руками нет. Потом когда будут бенчмарки, затестю на том, что подвернётся.
А пока разве только разные сайты использовать, где можно онлайн скомпилить код любым компилятором, и посмотреть результат. Но кому интересно, уже наверняка это сделали. Код то я выложил.
Как вариант приложить в коде. Но на статью, пожалуй, это не тянет. Простой набросок без транспонирования дал уже 32 такта.
А теперь нет. Видимо над тестом придётся ещё поработать.
В чём то вы оказались правы. Но как то странно получилось. Stream никак не сказалось на SSE версии, зато сильно портила жизнь AVX1 (ускорение 6-7 против 8-9). Архитектура IvyBridge. В целом корректно было бы IVB такты измерить. А это лишь IACA 2 может. Но они как то по разному мерят вторая с третьей.
На AVX2 есть _mm256_permute4x64_pd, на AVX действительно придётся допиливать напильником. Но в целом, признаюсь, я далёк от double тематики.
Про это было отмечено в статье, что большие массивы данных нужны скорее на умножении матрицы на массив вершин.

Information

Rating
Does not participate
Registered
Activity