Программерское

По оригинальной специальности я - разработчик процессоров, правда, не с софтовой стороны, а с железячной - то есть, собственно, технологии их призводства. Ну всякие там запрещённые зоны, квантовые эффекты в кмоп и прочая хрень. Тем не менее, софтовую часть мы тоже должны были знать - всё-таки универ, а не институт, да и на самом деле там многое взаимосвязано. Это так, предисловие.
Так вот, глядя на современные процессоры, у меня полное ощущение, что таких спецов, как мы, больше не делают. В том смысле, что разрабы процессоров очень слабо представляют себе реальные большие числогрызные задачи, и потому архитектура процессоров и микрокодов, как бы это сказать, удручает. Единственное удачное попадание получилось с видеокартами - их архитектура оказалась очень удачной для ИИ. Ну, как удачной? Далеко не фонтан, но гораздо лучше для этих целей, чем обычный проц.
Я чего жалуюсь-то? По роду работы мне приходится иметь дело с огромными (относительно) объёмами данных - около терабайта зараз. И обработаны они должны быть очень быстро. Очень. Максимально быстро. Лишняя миллисекунда - минус пара тыщ баксов. Так вот, в основе своей эти данные - матрицы, ну иногда мапы и сеты (не знаю, как это на русском). И да, наиболее близко для обработки матриц подходят именно видеокарты. Но есть проблема - размер памяти. Жадные дети из нвидиа залепили всего 48 гигов на одну карту. Можно это удвоить, используя мост, но это опять же всего 96 гигов - в десять раз меньше, чем нужно. Плюс, никак не получается загнать данные с диска в видеокарту минуя основную память, а это - опять же время, и немаленькое. Ну, вернее, раньше было нельзя - щас мыкрософт наконец-то разродился DirectStorage, но там через такую задницу надо сопрягать с CUDA, что ну его нафиг. Короче, ежики плакали и кололись, но продолжали использовать х86 архитектуру для матричных вычислений. И это настолько неоптимально, что у меня не хватает матерных слов для описания. А ведь нужно-то всего-навсего - одна команда на загоняние одного массива в кеш, и чтобы все коры именно на нём работали одновременно. Но - не умеет, сука, обязательно ему надо кеш синхронизовать, и никакие хинты не помогают.
Разрабов процов - на мыло. За тупость. А козлов из нвидиа - каждый день бить плетьми, за жадность на размер памяти.
|
</> |