Alexey
Hе подскажите, есть ли какое-нибудь адекватное мультиплатформенное решение, чтобы получать информацию о процессоре компьютера? Ну хотя бы модель.
Mikhail
python »> import platform »> platform.processor()
Alexey
а если на плюсах?)
Berkus
всякие либы есть которые это портабельно врапят
Alexey
sysctl на никсах, getprocessorinfo на винде
Вроде то что нужно, спасибо. Либу(если это не буст\qt) нет возможности тянуть(
Berkus
в бусте тоже что-то было из этой серии
Evgenii
https://kristerw.blogspot.co.il/2017/06/fipa-pta.html
Anonymous
объясните мне разницу между семафорами, условными переменными и мьютексами?
Berkus
семафор это атомарный счетчик условная переменная это шлагбаум с очередью мьютекс это атомарный счетчик с шлагбаумом
Anonymous
т.е. мьютекс - это "улучшенный" семафор?
Anonymous
+
Berkus
т.е. мьютекс - это "улучшенный" семафор?
ну они примерно одну функцию выполняют
Alexey
Нет( Amd, intel, 32\64, os- linux\macos\windows.
Alexey
Не уверен, что это адекватно кроссплатформенно.
Alexey
sysctl на никсах, getprocessorinfo на винде
вот это +- адекватное решение же.
Berkus
http://www.boost.org/doc/libs/1_60_0/boost/interprocess/detail/workaround.hpp
Berkus
я помню что в интерпроцессе где-то был детекшен
Berkus
поройся
Berkus
прямой доступ к cpuid достаточно бесполезен
Berkus
ты какую инфу конкретно хочешь получить??
Alexey
Модель процессора.
Berkus
ну тогда сделай прямой вызов cpuid и удивляйся как охуенно оно работает на армах и мипсах
Berkus
тогда никаких проблем
Alexey
Да, так и сделаю. Спасибо.
Berkus
тут надо уточнить нафига тебе модель процессора с такой точностью, но я не буду
Alexey
Собираю информацию на каких компах запускается программа)
Alexey
вот прямо до processor errata level?
Больше данных - больше пространства для анализа.
Vladislav
Небольшой оффтоп - в каком чате могут помочь хардкорно заоптимизировать кусок кода (на уровне "асм под конкретную архитектуру или даже конкретный процессор")?
Daniil
что за проц и арх?
Vladislav
Broadwell, Xeon E5-2683 v4
Andrei
большой кусок?
Vladislav
умножение sparse матрицы на sprase вектор, грубо говоря. Хотя бы в какую сторону смотреть
Andrei
статически известного размера?
Vladislav
все статьи которые я видел про sparse matrix x dense vector
Vladislav
то есть совсем не, но можно произвольно запрепроцессить матрицу
Andrei
Плохо. Если бы статического размера, то можно заоптимизировать лучше чем люди.
Vladislav
как?
Andrei
Есть алгоритм стохастической оптимизации кода под конкретный процессор.
Andrei
У него есть одно ограничение, он работает только для алгоритмов без циклов.
Andrei
http://theory.stanford.edu/~aiken/publications/papers/cacm16.pdf
Andrei
Пробегись глазами.
Vladislav
а, то есть вообще вся структура матрицы должна быть статически определена, получается?
Vladislav
матрица очень большая, 100k x 1m и с 1% ненулевых элементов
Anatoly
то есть она почти вся нулевая
Anatoly
ужс
Andrei
Не обязательно на самом деле, условие ровно такое, чтобы не было циклов, я просто предположил, что покуда размер статитчески известен можно явно написать формулы.
Vladislav
вектора очень sparse, 500 ненулевых элементов (причем значения только 0 или 1)
Vladislav
надо вчитаться
Constantine
То есть по сути задача быстро прогнать два указателя?
Constantine
Матрица конкретная? Генерируется - как?
Constantine
Насколько критична ошибка?
Vladislav
То есть по сути задача быстро прогнать два указателя?
Типа того, видимо, только почему два?
Vladislav
Матрица конкретная? Генерируется - как?
Конкретная, составляется из кучи мл-моделек
Vladislav
Насколько критична ошибка?
В некоторых пределах можно пренебречь, но нужно смотреть и тестировать
Constantine
Типа того, видимо, только почему два?
Кого много, векторов или матриц?
Constantine
А, много строк в матрице, понял
Constantine
Матрица в итоге разрежена в смысле блочной или просто рандомные числа?
Constantine
Как и вектор, собственно?
Vladislav
Constantine
У меня лично острое желание компрессить столбцы при умножении вектора справа
Constantine
Надо подумать
Vladislav
У меня лично острое желание компрессить столбцы при умножении вектора справа
Да, сейчас так и сделано, но кажется что можно ускорить
Vladislav
а почему не на gpu?
Дорого (у нас нет сейчас типовых серверов с гпу) и в память не влезет
Constantine
А дальше как?
Constantine
В смысле, там же надо еще по сути сорт
Vladislav
возможно я неправильно понял твою идею
Constantine
Ну я сжимаю столбцы, множу на константу
Constantine
Остается поскладывать сжатые столбцы
Constantine
И это если подумать сорт
Vladislav
а, да, все так