vak: (Default)
[personal profile] vak
Сегодня наша компания получила некоторую порцию внимания со стороны публики.

"SiMa.ai Raises $30 Million in Series A Investment Round Led by Dell Technologies Capital"

"SiMa.ai announces $30M Series A to build out lower-power edge chip solution"

"Reshaping the Machine Learning Landscape at the Embedded Edge"

"SiMa.ai - High Performance Machine Learning at the Edge"

Да, и мы нанимаем. Нужны специалисты по ML компиляторам, симуляторам, хардверу. Подробности здесь: https://sima.ai/careers/

Date: 2020-05-12 21:32 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Поздравляю.
У вас там все в порядке с выбором тулзов для этого всего ml programming? C++/Python, странно. Есть же уже приличные языки (смотря для чего).

Date: 2020-05-12 23:05 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
С экзотикой же трудно: на неё нужно экзотических работников и экзотических клиентов. Не?

Date: 2020-05-13 00:30 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Клиентам надо поставлять съедобное, конечно.

Date: 2020-05-13 02:10 (UTC)
From: [personal profile] olegmikul
Интересно. Если бы искал работу, то рассмотрел бы варианты. Я так понимаю, нужны специалисты по всем областям сразу - и по ML и по архитектурным симуляторам (типа SIMICS) и по хардверу (архитектура, цифровое, смешанное, аналоговое проектирование)?

Date: 2020-05-13 16:58 (UTC)
From: [personal profile] olegmikul
Практически весь бэк-енд использует С/С++, для производительности. Основной используемый фронт-енд - на Питоне. Есть некоторые отступления в виде одного языка для всего-всего, но их мало. Go, Julia, собственно C++. Но это скорее экзотика. Да и зачем?

Date: 2020-05-13 20:16 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Julia, насколько я помню, обеспечит вам куда более качественную производительность.

А вера, что человек руками на си может обогнать то, что изготовит JIT, даже не знаю, на чем основана, на невежестве? На неопытности? Сто раз уже демонстрировали.

Для франтенда-то пофиг, конечно, если не в продакшене гонять. Питон же, как те коты, все уронит в конце концов.

Date: 2020-05-13 20:17 (UTC)
dmm: (Default)
From: [personal profile] dmm
> https://www.autosar.org/fileadmin/user_upload/standards/adaptive/17-03/AUTOSAR_RS_CPP14Guidelines.pdf

Это очень интересно, что такое есть.

Я бы хотел понять, действительно для critical and safety-related можно использовать C++, а не что-нибудь суперпроверенное, типа Ады. Или это они пытаются выдавать желаемое за действительное?

Date: 2020-05-13 21:52 (UTC)
From: [personal profile] olegmikul
Нет, Julia не быстрее С. Она быстрее питона (естественно) и прочего, но не С (в среднем). Смотреть здесь: https://julialang.org/benchmarks/

Я не программист, так что да, невежествен. Но то, что я могу руками (с продуманной работой с указателями, openMP, локальностью данных, векторизацией и прочим) получить более быстрый код на С для моих числодробилок чем на чём бы то ни было ещё - мне, неопытному, как бы очевидно.

Date: 2020-05-14 01:38 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Хм, любопытно. За Джулию я, конечно, не поручусь. Но видел не раз, как jvm побивает код на си.

С другой стороны, это не моя епархия, я пою про то, что видел, а не про то, что делал сам. Когда-то я арифметический процессор эмулировал, так я там навалял макросы на форте, и, конечно, с регистрами обошелся дай боже; мой эмулятор был на 40% быстрее борландского. (Попав в Борланд, я уже этому не удивлялся. Я им strlen однажды ускорил.)

Date: 2020-05-14 02:49 (UTC)
From: [personal profile] olegmikul
Ну, я с Джулией возился долго. Была надежда, что один язык заменит всё вокруг и не надо ничего другого. Не получилось, по ряду причин. Жуткая фрагментация, медленная и нестабильная компилляция (когда надо было на нестандартный чип ставить), медленный старт, неопределённость с графикой, косяки при апдейтах и т.д. А жаль.

JVM может, наверное, побить код на С, если код на С не оптимизирован и корявый. В моих случаях JVM был довольно близок к С, но всё равно медленнее, но уже не в разы, как до эпохи исторического материализма.

Date: 2020-05-14 05:07 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Понятно. Ну вот, человек с экспириенсом, конечно, может это дело побить. Наверно.

Date: 2020-05-14 05:43 (UTC)
From: [personal profile] moneo1337
я не очень много с МЛ работал, по моему представлению питон там в основном из-за существующих либ типа tensorflow/pytorch, но там же внутри интерфейс с железом через всякие CUDA

а у вас, раз свое железо и c++ - будет opencl? или свой аналог CUDA?

Date: 2020-05-14 07:27 (UTC)
From: [personal profile] olegmikul
И tensorflow и pytorch работают с библиотеками на C++, без CUDA в случае CPU и с CUDA в случае GPU.

В случае своего (проприетарного) железа важным фактом является то, предназначено ли оно только для применения (inference) или для ускорения настройки (training) и последующего применения/inference. Судя по "dramatically low-power" и "edge computing", SiMA.ai нацеливается на "inference" и должно использовать некую гетерогенную систему для "training". Хотелось бы услышать больше подробностей от автора, но надо понимать, что не всё может быть рассказано, по понятным причинам :)

Date: 2020-05-14 07:45 (UTC)
From: [personal profile] moneo1337
ну я предполагал что там GPU, даже inference на CPU по моему уже только для примеров размером с helloworld применяется

Date: 2020-05-14 15:49 (UTC)
From: [personal profile] olegmikul
Не совсем так, как раз CPU способны решать задачи бОльшего размера, максимальной памяти на сервере гораздо больше чем на карточке GPU. Но медленнее. Впрочем, это оффтопик.

Date: 2020-05-15 00:21 (UTC)
pappadeux: (Default)
From: [personal profile] pappadeux
> Julia, насколько я помню, обеспечит вам куда более качественную производительность.

LLVM может, похуже C++/C, но близко

но тому, кто проектировал Julia нужно ноги оторвать, даже счетные циклы кривые