A+ A A-

Графические технологии в поисках настоящей любви

  • Обновлено 13.02.2014 21:39
  • Автор: Алексей Попов

История о том, как Крис МакКинли добыл доступ к женским анкетам на сайте знакомств OkCupid, в результате чего познакомился со своей нынешней невестой Кристиной Тиен Уэнг, некоторое время назад принесла нашему герою всемирную математическую славу.

Однако только недавно стало известно, что Крис использовал CUDA и GPU Tesla, чтобы произвести все необходимые расчеты для обретения настоящей любви. «Возможно, это выглядит уже как слишком … но я был перед компьютером один и устоять было просто невозможно», - рассказывает Крис.

CUDA – это модель параллельного программирования, которая упрощает использование графического процессора для вычислений общего назначения. CUDA предоставляет разработчикам мощь сотен ядер графических процессоров для параллельных вычислений. Сложные задачи становятся под силу не только многомиллионным суперкомпьютерам, но и обычным настольным системам.

35-летний Крис доказал, что математические навыки, а также немного наглости, вполне могут стать эквивалентом суперсилы настоящих мачо.

 

Секретные козыри Криса

После окончания колледжа Крис присоединился к профессиональной команде по блэкджэку Массачусетского Технологического института, зарабатывая на жизнь благодаря своим отличным математическим способностям.

В данный момент, обучаясь в аспирантуре, он исследует кишечные микробиомы - разновидность живущих в нашем организме бактерий. Эта перспективная область, связанная с разработкой лекарств от многих болезней – от ожирения до рака.

Как выяснилось, если перенести полученные Крисом знания на область знакомств, то можно перещеголять даже самых искусных соблазнителей.

«При суперактивном подходе за вечер можно познакомиться с несколькими десятками девушек, - говорит Крис. - Но если войти в топ списка совместимости на сайте знакомств, ваш профиль окажется перед глазами у 20 - 25 тысяч женщин, причем именно тех женщин, которые ответили на вопросы анкеты схожим образом».

 

Большая мощь открывает большие перспективы знакомств

Кэвин Пулсон из Wired первым рассказал историю о том, как с помощью пары серверов Mac Mini Крис обрабатывал анкеты женщин на сайте OkCupid, чтобы понять принцип подбора сервисом потенциально подходящих кандидатов.

Затем Крис построил модели разных типов женщин, использующих сервис знакомств, и ответил соответствующим образом на вопросы, которые имели наибольшее значение для тех типов женщин, с которыми ему было бы интересно познакомиться. В результате сервис посчитал его совместимым с тысячами возможных партнерш и всем им показал анкету Криса.

Чтобы ускорить процесс обработки данных, Крис применил расширение CUDA для C/C++ на процессоре NVIDIA Tesla, который он использовал для своей диссертации.

Это помогло ему быстро выполнить алгоритм K20-Modes от Bell Labs. Изначально данный алгоритм использовался для анализа зараженных соевых бобов. В новых условиях алгоритм помог разбить 20 000 женщин на семь кластеров.

«К тому моменту я уже использовал процессор для своей диссертации, - рассказывает Крис о применении суперкомпьютерного ускорителя в своих поисках. – Это помогло мне чувствовать себя чуть менее виноватым за то, что я потратил целый месяц на взлом OkCupid вместо того, чтобы заниматься делом».

 

Два свидания в день? Теперь можно положиться на параллельные вычисления

С помощью компьютеров, которые Крис запрограммировал на просмотр лучших кандидатур и которые отсылали девушкам сигналы о том, что он просмотрел их профили, Крису удалось составить внушительный список желаемых свиданий. Иногда даже два в день! На 88-ом свидании он встретил Тиен. Сейчас они готовятся к свадьбе.

Возможно, процесс поиска ускорился бы еще сильнее, если бы наш герой ходил на свидания так же, как считает, то есть параллельно. «К сожалению, во всем остальном, кроме вычислений, я по-прежнему функционирую лишь как однопоточный процессор», - говорит в заключение Крис.

Комментарии