Аннотация:
Рассмотрен способ увеличения производительности программ молекулярной динамики путем полного использования аппаратных ресурсов современных процессоров на примере Pentium 4 Hyper Threading и Athlon 64 Х2. Первый виден операционной системе как два виртуальных процессора, а второй имеет два реальных процессора на одной микросхеме. В обоих случаях как пара виртуальных, так и пара реальных процессоров имеет общую память и аппаратную надстройку в виде мультимедийных SSE-регистров – векторных регистров. Благодаря этому расчет может быть распараллелен вначале на два процессора, а затем векторизован в SSE-регистрах каждого из них еще в четыре потока. В итоге количество одновременно выполняемых шагов исходного алгоритма становится равным восьми, что до недавнего времени требовало компьютерного кластера со специальным программным обеспечением. Приведен текст параллельно-векторного алгоритма на Си++ и исследована его сравнительная производительность в зависимости от числа потоков на обоих типах процессоров.