Старший инженер-программист системного программного обеспечения, C++ и CUDA - Ускоренный Apache Spark

  • Full Time
Job expired!

Мы ищем инженеров-разработчиков системного программного обеспечения для присоединения к нашей команде, работающей над ускоренным Apache Spark. Поскольку NVIDIA является мировым лидером в области ускоренных вычислений, мы создаем экосистему обработки данных следующего поколения. Apache Spark - самый популярный движок для распределенной обработки данных в дата-центрах, который используется для широкого спектра задач, включая подготовку данных, генерацию функций, отчетность, аналитику и многое другое. Дата-сайентисты проводят значительное количество времени на изучение данных и проведение экспериментов с машинным обучением (ML). Каждый час, необходимый для сортировки наборов данных, извлечения функций и настройки ML-алгоритмов, затрудняет эффективную бизнес-работу.

В NVIDIA мы с увлечением беремся за решение сложных проблем, которые могут оказать значительное воздействие. Чтобы присоединиться к нам, вам потребуются сильные навыки программирования, глубокое понимание процесса создания и сборки программного обеспечения, особенно в отношении C++. Вы будете работать в команде, использующей открытые исходные библиотеки - RAPIDS libcudf, RMM и cuIO - для ускорения операций с Apache Spark Extract, Transform, Load (ETL) и ML.

Что вы будете делать:

  • Разрабатывать библиотеки CUDA/C++ для использования в движках распределенной обработки данных, ускоряя операции в Apache Spark
  • Совершенствовать открытое программное обеспечение RAPIDS через технические обсуждения и вклад в код
  • Сотрудничать с командами, работающими с распределенными системами, для проектирования решений проблем масштабирования распределенной обработки
  • Предлагать рекомендации и отзывы командам по решениям, касающимся инфраструктуры, непрерывной интеграции и стратегий тестирования
  • Создавать, тестировать и оптимизировать библиотеки CUDA/C++ на различных платформах
  • Создавать автоматизацию и инструменты, которые увеличат эффективность команд, разрабатывающих распределенные системы

Что вам необходимо иметь:

  • Бакалавриат, магистратура или докторская степень в области компьютерных наук, компьютерной инженерии или смежной области, либо эквивалентный опыт
  • 8+ лет практического опыта разработки программного обеспечения
  • Выдающиеся технические навыки в проектировании и реализации высококачественных распределенных систем
  • Отличные навыки программирования на C++, Java и/или Scala
  • Способность работать с многофункциональными командами в пределах и за пределами своей страны и региона
  • Высокая мотивация и сильные навыки межличностного общения

Что выделит вас среди других:

  • Знакомство с RAPIDS libcudf, RMM и cuIO
  • Опыт написания эффективного программного обеспечения для распределенных систем в масштабе
  • Опыт разработки операционных систем
  • Опыт разработки на CUDA для GPU
  • Твердое понимание C++ 17/20

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

Диапазон базовой заработной платы для этой позиции составляет от 176 000 USD до 333 500 USD. Ваша базовая зарплата будет определяться на основании вашего местоположения, опыта и оплаты труда работников на аналогичных должностях. Вы также будете иметь право на акции и льготы. NVIDIA принимает заявки на постоянной основе.