Линь Фан стояла между ними, наблюдая, как Чжан Юань строка за строкой переводит математические формулы Чэнь Чжо на язык программирования.
Прошло больше получаса.
Чжан Юань нажал последнюю клавишу Энтер.
— Перевод завершён. Ошибок синтаксиса нет.
Чжан Юань уставился на командную строку на экране.
Чэнь Чжо кивнул.
— Давай, импортируй данные модели. Посмотрим, на что способна машина.
Чжан Юань глубоко вздохнул. Вытерев вспотевшие ладони о брюки, он взялся за мышь и нажал «Запуск».
Вентиляторы внутри четырёх чёрных корпусов мгновенно взвыли, словно внутри них проснулся зверь.
Изображение на мониторе мигнуло.
Застывшее окно командной строки ожило: по нему быстро побежали строки зелёных данных.
— Работает!
Глаза Линь Фан загорелись, она невольно стиснула кулаки.
Чжан Юань с облегчением выдохнул и откинулся на спинку стула.
— Я же говорил, что сработает! Когда хочешь раздавить проблему из высшего измерения, нужно полагаться на дискретную матрицу. Пока машина работает, у нас есть шанс.
Чэнь Чжо промолчал. Он не сводил глаз с крошечной полоски прогресса в правом нижнем углу экрана.
На ней было написано: «1%».
— Похоже, нам предстоит бессонная ночь.
Чжан Юань потёр лицо.
— Линь Фан, сходи, пожалуйста, купи мне пару пачек сигарет и завари крепкого чаю. Эта машина будет молотить ещё долго.
— Хорошо, я схожу.
Линь Фан схватила ключи со стола и быстро вышла из лаборатории.
Чэнь Чжо откинулся на складном стуле, наблюдая за почти неподвижной полоской прогресса.
— Старший брат, не спеши праздновать, — сказал Чэнь Чжо.
Чжан Юань повернул голову.
— Что не так?
— Разница в количестве узлов сетки между 2D-срезом и 3D-моделью — это не простое сложение.
Чэнь Чжо указал на невероятно детализированную модель передней части автомобиля на экране.
— Это экспоненциальное умножение. Когда ты импортировал модель, ты проверял общее количество узлов сетки?
Чжан Юань на секунду замер. В спешке запуская программу, он не удосужился внимательно изучить параметры.
Он быстро открыл окно фонового мониторинга и взглянул на статистику.
Лицо Чжан Юаня окаменело.
— Сорок два миллиона узлов сетки?
Голос Чжан Юаня дрогнул.
В прошлогодней 2D-модели было от силы пара сотен тысяч узлов.
— Ага.
Чэнь Чжо кивнул.
— Чтобы обеспечить точность потока на 3D-поверхностях, сетку пришлось разбить на более мелкие фрагменты. Это более сорока миллионов узлов, и каждый требует матричного умножения высокого порядка.
Чжан Юань посмотрел на четыре сервера, гудящих рядом, и вдруг этот звук перестал казаться ему таким приятным.
— Он... он ведь справится, верно?
— неуверенно спросил Чжан Юань.
— Зависит от того, выдержат ли эти машины такую нагрузку, — отозвался Чэнь Чжо.
Линь Фан вернулся с сигаретами и чаем.
Втроем они принялись ждать в подземной лаборатории.
Первые несколько часов атмосфера оставалась относительно спокойной. Чжан Юань даже был настроен поболтать с Чэнь Чжо о видеоиграх.
Но шло время, и в воздухе становилось всё отчетливее слышно запах гари.
К одиннадцати часам вечера шкала прогресса всё так же упрямо замер на отметке «1%».
Зеленый поток данных на экране полз всё медленнее, словно вяз в какой-то трясине.
— Это неправильно.
Чжан Юань затушил сигарету.
— Прошло четыре часа. Как он мог не продвинуться даже на один процент?
— Память почти переполнена.
Чэнь Чжо указал на окно мониторинга.
Использование оперативной памяти достигло 98%. Файл подкачки постоянно считывал и записывал данные на жесткий диск, и шкала активности диска бешено мигал.
— Перезапусти программу мониторинга. Оставь только основной процесс.
Чжан Юань с силой ударил по клавишам.
Той ночью никто не сомкнул глаз.
«На следующее утро».
Линь Фан вернулся из столовой с завтраком на троих. Паровые булочки и соевое молоко стояли на столе, постепенно остывая.
Шкала прогресса всё так же показывал «1%».
Чжан Юань встал и дважды прошелся вокруг серверной стойки. Он протянул руку, коснулся металлического корпуса одного из серверов и тут же отдернул её.
— Он раскаленный.
Чжан Юань нахмурился.
— Врубай кондиционер на полную.
Линь Фан схватил пульт и выставил на кондиционере минимальную температуру. Из вентиляции хлынул холодный воздух, но он не мог тягаться с жаром, исходящим от машин.
Чэнь Чжо сидел в кресле, жуя холодную булочку.
Он смотрел на экран, понимая, что система работает на пределе своих возможностей.
— Он всё ещё считает.
Чжан Юань уставился в окно командной строки. Примерно каждые десять секунд на экране появлялась новая строка данных.
— Медленно, но пока система не вылетает и не выдаёт ошибок, мы будем ждать. Даже если на это уйдёт месяц.
«Третий день».
В лаборатории стало нечем дышать.
Глаза Чжан Юаня опухли, словно персики. Линь Фан, закутавшись в армейскую шинель, дремала в кресле.
Чэнь Чжо всё ещё сидел на складном стуле. Он не возвращался в общежитие. За эти три дня он лишь изредка вздремнул, положив голову на стол, но большую часть времени провёл, изучая закономерности в данных.
Два часа дня.
Вдруг со стороны серверной стойки раздался протяжный звуковой сигнал.
Следом, словно по команде, пронзительно запищали остальные три сервера.
Чжан Юань вскочил со стула.
Линь Фан вздрогнула и проснулась, шинель соскользнула на пол.
Экран центрального компьютера замер.
Строки в командной строке перестали бежать. Курсор исчез.
Затем весь экран мигнул и окрасился в сплошной, внушающий отчаяние синий цвет.
На синем фоне появилась строчка белых английских символов.
Критическая ошибка: нехватка памяти.
После этого гул вентиляторов четырёх серверов постепенно стих, а шкалаы жёстких дисков погасли.
Система рухнула.
Чжан Юань оцепенело застыл перед экраном. Его губы шевелились, но звука не было.
Он протянул руку и начал лихорадочно колотить по клавишам Энтер и Бэкспейс. Клавиатура отозвалась хаотичным грохотом.
Экран оставался синим, с белым текстом, никак не реагируя на действия.
— Перезагружай.
Голос Чжан Юаня был хриплым. Он потянулся к кнопке питания на системном блоке.
— Не надо, старшим брат.
Чэнь Чжо встал и перехватил руку Чжан Юаня.
Чжан Юань обернулся к Чэнь Чжо, его глаза пугающе покраснели.
— Перезагрузи и продолжай! Мы можем возобновить работу с контрольной точки!
— Нет никакой контрольной точки. Произошло переполнение памяти. Данные за последние три дня — это просто мусорные фрагменты. Ничего не сохранилось.
Чэнь Чжо отпустил руку Чжан Юаня.
Линь Фан закрыла лицо руками.
Три дня и три ночи изнурительной работы на пределе возможностей — и всё ради трёх слов: «Нехватка памяти».
Чжан Юань медленно опустил руку. Спиной он наткнулся на край стола и сполз вниз, тяжело оседая на складной стул.
Он нащупал на столе пачку сигарет и с силой встряхнул её. Пусто. Он скомкал пачку в комок и швырнул в стену.
— И это всё?
Чжан Юань опустил голову, его голос был пропитан горечью и бессилием.
— Сорок миллионов узлов сетки... даже машины не справились. Какие у нас теперь козыри на переговорах?
В подземной лаборатории воцарилась мертвая тишина.
Холодный воздух из кондиционера обдувал четыре безмолвно стоящих компьютера.
Чэнь Чжо подошел к серверной стойке и приложил ладонь к черному металлическому корпусу.
Он был горячим.
Настолько, что обожгло кожу.
Это был верный признак того, что железо работало на пределе своих возможностей.
Чэнь Чжо отдернул руку и обернулся к приунывшим Чжан Юаню и Линь Фан.
Чэнь Чжо подошел к столу, взял два листа формата А4 с записанными формулами матриц, мельком взглянул на них, затем медленно разорвал в клочья и бросил в мусорную корзину.
Шорох падающих обрывков бумаги прозвучал в тишине лаборатории особенно отчетливо.
— Старший брат, — начал Чэнь Чжо.
Чжан Юань не поднял головы.
— Старые инструменты бесполезны.
Спокойно сказал Чэнь Чжо, глядя на макушку Чжан Юаня.
Чжан Юань поднял голову, его глаза были налиты кровью.
— Что ты сказал?
— Я сказал, что дискретная матрица бесполезна.
Чэнь Чжо указал на монитор с «синим экраном смерти».
— Мы пытаемся нарезать трехмерную геометрию с помощью двумерного мышления. Количество узлов сетки растет в геометрической прогрессии. Даже если мы объединим в сеть все компьютерные классы университета, нам не хватит мощностей для вычисления сложных произведений сорока миллионов узлов.
Линь Фан встала и подошла к Чэнь Чжо.
— Чэнь Чжо, ты хочешь сказать, что этот путь — полный тупик?
— Да.
Чэнь Чжо посмотрел на них обоих.
— Пока мы пытаемся разрезать непрерывное трехмерное многообразие, вычислительная мощность всегда будет бездонной ямой.
Он сделал паузу.
— Такова реальность. Машина не лжет. Если она не тянет, значит, не тянет.
Чжан Юань стиснул зубы.
— И мы должны просто смириться? Прийти к руководству с этим провалом, признаться, что ничего не вышло, и позволить им диктовать любые условия?
— Я не говорил, что мы должны смириться.
Чэнь Чжо повернулся и посмотрел на исписанную уравнениями маркерную доску.
— Мне нужно попробовать другой подход. Дайте подумать.
Чэнь Чжо вернулся к своему рюкзаку, застегнул молнию и закинул его на плечо.
Он оглянулся на Чжан Юаня и Линь Фан, и уголок его рта вдруг дрогнул в легкой улыбке.
Это была едва заметная усмешка, неуместная в гнетущей атмосфере лаборатории, но несущая в себе неожиданное спокойствие.
— Посмотрите на светлую сторону: по крайней мере, материнские платы не сгорели. Идите поспите, старший брат. Этим чертовым машинам тоже нужно пару дней отдыха.
Сказав это, Чэнь Чжо толкнул дверь и вышел.

Комментарии

Загрузка...