The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

07.02.2018 23:08  Google представил Си-библиотеку для определения возможностей CPU

Компания Google опубликовала библиотеку cpu_features, предназначенную для определения возможностей, поддерживаемых текущим CPU, таких как тип микроархитектуры и расширенные наборы инструкций AES, FMA, BMI, SSE, AVX и NEON. Поддерживается работа с процессорами на базе архитектур x86, ARM/AArch64 и MIPS. Код поставляется под лицензией Apache 2.0.

Библиотека преподносится как удобный способ на лету определить возможность использования той или иной расширенной функциональности, или принять решение по применению запасных обработчиков для устаревших систем. Недостающая функциональность библиотеки, необходимая для поддержки новых архитектур и определения возможностей CPU, может наращиваться через подключение расширений. Код написан в соответствии со спецификацией С89 и набором расширений GNU, что позволяет охватить большинство современных и устаревших компиляторов.

Библиотека также включает минимальный набор зависимостей и поддерживает разные стратегии определения функциональности CPU, что позволяет использовать её на разных платформах, в изолированных sandbox-окружениях и даже в условиях без возможности выполнить инструкцию cpuid. Более того, в библиотеке не выполняются операции выделения памяти и не генерируются исключения, что даёт возможность использовать её в реализациях таких функций, как malloc, memcpy и memcmp. Среди поддерживаемых методов определения функциональности отмечается инструкция cpuid, glibc-функция getauxval, /proc/self/auxv и /proc/cpuinfo.

  1. Главная ссылка к новости (http://opensource.googleblog.c...)
  2. OpenNews: Анализ использования ассемблерных вставок в коде открытых проектов
  3. OpenNews: В ядре Linux прекращена поддержка процессоров 386
  4. OpenNews: Анализ проблем оптимизации для конкурирующих CPU в компиляторе Intel
  5. OpenNews: Google опубликовал Wycheproof, инструментарий для проверки криптографических библиотек
  6. OpenNews: Google представил открытую библиотеку Abseil для разработчиков на C++
Лицензия: CC-BY
Тип: Программы
Ключевые слова: cpu_features, cpu, cpuid, gcc
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.3, Аноним (-), 23:43, 07/02/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +11 +/
    Ждём версии на javascript, тогда сайты никогда не ошибутся!
     
     
  • 2.29, Ан (??), 07:53, 08/02/2018 [^] [ответить]    [к модератору]
  • –3 +/
    Доступа к этой информации через WebAPI не получить.
     
     
  • 3.55, Аноним (-), 11:03, 08/02/2018 [^] [ответить]     [к модератору]
  • –4 +/
    Насмешил Спокойно получается id процессора, операционная система, разрешение мо... весь текст скрыт [показать]
     
     
  • 4.67, XoRe (ok), 12:47, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    id процессора - это не cpu_features.
     
  • 4.91, Аноним (-), 18:57, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Наверно вы имели ввиду css? Ибо scss это препроцессор css, он не обрабатывается браузером вообще никак.
     
  • 1.5, Аноним (-), 23:53, 07/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    > static bool HasXmmOsXSave()
    > int GetX86FeaturesEnumValue(const X86Features* features, X86FeaturesEnum value)

    На С так не пишут!

     
     
  • 2.12, Horse (??), 00:22, 08/02/2018 [^] [ответить]    [к модератору]  
  • –12 +/
    В Google всё-таки лучше знают, как писать на C.
     
     
  • 3.14, Аноним (-), 00:49, 08/02/2018 [^] [ответить]    [к модератору]  
  • +23 +/
    > как писать на C чтоб все перешли на go
     
  • 2.23, Аноним (-), 06:21, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    #define bool int

    Тоже мне, нашёл проблему.
    А со второй строчкой что не так? Вполне себе C.

     
     
  • 3.30, ILoveIslam (?), 07:57, 08/02/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    stdbool.h уже 18 лет как в стандарте.
     
     
  • 4.39, Вареник (?), 08:42, 08/02/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    С89, написано жеж
     
     
  • 5.80, ILoveIslam (?), 13:43, 08/02/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Какой-то интересный у них c89:

    https://github.com/google/cpu_features/blob/8e58ef0d2b1720d1f6f9f9a5dddfca6de3

     
  • 3.92, dmitrmax (ok), 19:43, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    А во второй строче ключевое слово enum пропущено. Если, конечно, они не сделали typedef
     
     
  • 4.101, pavlinux (ok), 02:46, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    А с чего ты взял что там enum пропущено, а не struсt, union,...?
     
  • 2.32, Аноним (-), 08:12, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    > На С так не пишут!

    показал бы что ли свой код, чтобы мы узнали как надо писать на Си

     
  • 1.6, Не понял (?), 23:53, 07/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >о даёт возможность использовать её в реализациях таких функций, как malloc, memcpy и memcmp.

    А зачем внутри malloc определять процессор. Ну еще какой malloc вызывать и то один раз, но внутри?

     
     
  • 2.66, Аноним (-), 12:30, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Советую заглянуть в исходники той же либс - сразу станет понятно.
     
  • 2.102, pavlinux (ok), 03:00, 09/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    >>о даёт возможность использовать её в реализациях таких функций, как malloc, memcpy и memcmp.
    > А зачем внутри malloc определять процессор.

    Ну например не все процы умеют PDPE1GB

     
  • 1.7, Аноним (-), 23:56, 07/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    https://github.com/google/cpu_features/blob/master/src/list_cpu_features.cc

    А это вообще-то C++.

     
     
  • 2.19, leap42 (ok), 02:13, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    верно аноним подметил, половина проекта на плюсах написана
     
     
  • 3.22, lovewindows (?), 05:14, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    На с++ написана не сама библеотека, а исоплняемый list_cpu_features.
     
  • 2.54, Аноним (-), 11:01, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    https://github.com/google/cpu_features/issues/11
     
  • 1.8, Аноним (-), 00:06, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –7 +/
    То есть,

    cat /proc/cpuinfo
    lshw | grep cpu
    dmidecode -t 4

    уже недостаточно?

     
     
  • 2.9, Аноним (-), 00:07, 08/02/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Да, и еще inxi
     
  • 1.10, Дуплик (ok), 00:13, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +8 +/
    >Features revealed from Linux. We gather data from several sources depending on availability:
    >from glibc's getauxval
    >by parsing /proc/self/auxv
    >by parsing /proc/cpuinfo

    Ясно, понятно.

     
     
  • 2.27, Аноним (-), 07:49, 08/02/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    что тебе ясно-понятно, там же нет qt... весь текст скрыт [показать]
     
     
  • 3.37, пох (?), 08:33, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    >> Ясно, понятно.
    > что тебе ясно-понятно, там же нет qt

    где твой пул-реквест?


     
     
  • 4.47, Аноним (-), 10:32, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    >>> Ясно, понятно.
    >> что тебе ясно-понятно, там же нет qt
    > где твой пул-реквест?

    В ядро? И нафига вообще qt, если мне, например, на сервере надо псмотреть?

     
     
  • 5.63, пох (?), 12:24, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    в ядро, наверное, не примут Но в гугля попробовать можно - все равно они еще не... весь текст скрыт [показать]
     
  • 4.57, Аноним (-), 11:27, 08/02/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    ещё одна сопля научилась комитить и возомнила себя линусом торвальдсом..
     
  • 1.11, nc (ok), 00:15, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Приятная штука. Подумал что хорошо бы ее в Буст включить, но потом понял что это Си а не С++. А кстати для Си есть что-то подобное бусту?
     
     
  • 2.20, ERtert (?), 02:15, 08/02/2018 [^] [ответить]    [к модератору]  
  • –4 +/
    Буст, это который сомнительная библиотека для горе-разработчиков?
     
     
  • 3.24, Аноним (-), 06:23, 08/02/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > Буст, это который сомнительная библиотека для горе-разработчиков?

    Это который активно добавляют в std. Может вы ещё и std не пользуетесь?

     
     
  • 4.38, пох (?), 08:34, 08/02/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    при программировании на си Нет, не пользуется ... весь текст скрыт [показать]
     
     
  • 5.48, Аноним (-), 10:34, 08/02/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Словестный аквилибрист вы Кстати, в новом стандарте C таки есть std http ope... весь текст скрыт [показать]
     
     
  • 6.71, пох (?), 13:09, 08/02/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    просто умею читать не на одно сообщение вверх С точки зрения программиста на C ... весь текст скрыт [показать]
     
     
  • 7.109, Аноним (-), 23:52, 10/02/2018 [^] [ответить]    [к модератору]  
  • +/
    и даже Boost.Asio? Большинство остального уже есть в C++11
     
  • 6.108, dq0s4y71 (ok), 11:13, 10/02/2018 [^] [ответить]    [к модератору]  
  • +/
    И где там std?
     
  • 3.89, Аноним (-), 17:54, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Это кроссплатформенный велосипед большого размера. Если проект - прототип, то буст подойдет. Иначе лучше сделать свой маленький велосипед.
     
     
  • 4.106, пох (?), 13:34, 09/02/2018 [^] [ответить]     [к модератору]  
  • +/
    а при пожарном переходе от прототипа к коммерческому развертыванию, ты, конечно ... весь текст скрыт [показать]
     
  • 2.46, yet another anonymous (?), 10:22, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Да, в boost e только этого не хватает Хотя навалено уже много ... весь текст скрыт [показать]
     
  • 2.68, Аноним (-), 12:48, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > А кстати для Си есть что-то подобное бусту?

    Нет. И за это мы его и любим (среди прочего).

    Если вам нужен бюст, берите плюсы и не портите малину другим.

     
  • 1.13, mumu (ok), 00:48, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +24 +/
    > /proc/cpuinfo

    Библиотека, которая выводит /proc/cpuinfo? Я аж смузи на кадиган чуть пролил.

     
     
  • 2.83, nobodynoone (?), 14:48, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Это не пользовательская библиотека, что вам непонятно-то.
     
     
  • 3.87, пох (?), 16:45, 08/02/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    нам непонятно, откуда берутся программисты , которым нужна специальная библиоте... весь текст скрыт [показать]
     
  • 1.15, Аноним (-), 01:05, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    > Си-библиотеку

    Предлагаю объединить до "сиблиотеку". С остальными языками так же:

    Go - гоблиотека;
    Java - яблиотека.

     
     
  • 2.43, Ан (??), 09:44, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > яблиотека

    что-то Apple повеяло. Лучше это слово оставить для них.

     
     
  • 3.53, devl547 (ok), 10:53, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну тогда Java - джаблиотека.
     
  • 3.58, Аноним (-), 11:39, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Ага, засудят :)
     
  • 2.60, Аноним (-), 11:45, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Растоблиотека, как-то сложно получилось
     
     
  • 3.100, neit95 (ok), 02:33, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Раблиотека
     
  • 2.61, Аноним (-), 11:47, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Удавоблиотека
     
  • 2.96, anomymous (?), 21:47, 08/02/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Рублиотека
    Пыхотека
    Перлотка

    Но всех делает D
    Дискотека!

     
  • 1.16, AMDGPUi915 (?), 01:11, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Почему не на ASM? хипстота очередная!
     
     
  • 2.17, denis111 (ok), 01:21, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Для всех архитектур?
     
     
  • 3.35, пох (?), 08:32, 08/02/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    > Для всех архитектур?

    всех трех на которых есть /proc/cpuinfo, что-тотам в sys и команда cpuid ? Ахренеть сложная задача.
    А на альфе оно работать и не будет.

     
     
  • 4.49, Аноним (-), 10:35, 08/02/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Компилировать будешь для каждого процессора и подгонять под каждый Ну раз тебе ... весь текст скрыт [показать]
     
     
  • 5.72, пох (?), 13:19, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    А что, на си комилировать уже не надо Подгонять под каждый, разумеется, нет, эт... весь текст скрыт [показать]
     
  • 4.103, pavlinux (ok), 03:49, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    > А на альфе оно работать и не будет.

    Альфа сдохла 18 лет назад, разобрали на запчасти и винтики.  


     
  • 3.97, anomymous (?), 21:50, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    А вот кстати да, была бы тема Кусок машинного кода для множества архитектур кот... весь текст скрыт [показать]
     
     
  • 4.98, anomymous (?), 22:29, 08/02/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Дабы понимать, о чём я, простой пример 18 7E - эта команда прыгает на 128 байт в... весь текст скрыт [показать]
     
     
  • 5.99, anomymous (?), 22:33, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    На том же x86 ещё придётся детектить режим исполнения, по стэку детектить актуальный call convention, детектить операционку, etc, etc. Но в целом всё реально.
     
     
  • 6.105, pavlinux (ok), 03:54, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    > Но в целом всё реально.

    Нед.


     
  • 4.104, pavlinux (ok), 03:52, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    >> Для всех архитектур?
    > А вот кстати да, была бы тема.

    Была, лет 30 назад. Ищи код тут  http://www.ioccc.org/

     
  • 2.28, Аноним (-), 07:51, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > Почему не на ASM? хипстота очередная!

    ASM для хипстеров! Настоящие программисты пишут в двоичном коде!

     
     
  • 3.65, КО (?), 12:27, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Эх молодежь, уже и не помнит как программировать проводками. :)
     
  • 1.18, gg (??), 01:48, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    я бы тоже не отказался получать больше $100к в гугле, что бы писать такую откровенно скажем хрень
     
     
  • 2.25, qsdg (ok), 07:39, 08/02/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Так не отказывайтесь
     
     
  • 3.59, Аноним (-), 11:41, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Так не предлагают :)
     
     
  • 4.110, Аноним (-), 10:27, 13/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Все равно не отказывайтесь. ;-)
     
  • 2.31, Аноним (-), 08:05, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    эээ... так кто тебе мешает то? у нас что, железный занавес? Перестань комплексовать уже от своих нищенских доходов - слезами горю не поможешь.
     
     
  • 3.34, Аноним (-), 08:29, 08/02/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    железный занавес уже много лет как не у нас, а у них Уехать работать в гугль, у... весь текст скрыт [показать]
     
     
  • 4.40, Вареник (?), 08:45, 08/02/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Зависть неосилянта
     
     
  • 5.50, Аноним (-), 10:36, 08/02/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    > Зависть неосилянта

    Свои проекты ф студию. Только профы не забудь.

     
  • 2.33, Аноним (-), 08:25, 08/02/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    большая часть гугля тем и занимается, что делает всякую откровенную хрень Уже л... весь текст скрыт [показать]
     
     
  • 3.51, Аноним (-), 10:40, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Что такое для тебя успех Для меня заниматься тем, что я хочу, а не тем, где бол... весь текст скрыт [показать]
     
     
  • 4.93, _ (??), 20:40, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    ... ниЧЧо, и ты когда то женишься и ребетёнков заведёшь :-)
     
  • 2.88, Аноним (-), 17:18, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    100k в Сан-Франциско 8212 это как жить на 8к рублей в Москве А удалённые ко... весь текст скрыт [показать]
     
     
  • 3.90, Аноним_ (?), 18:37, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    бомжа в гей-ареа нанимать дорого, наймут бангалорского. Через год переедет туда - для них-то нет проблем с квотами h1b.


     
  • 3.94, _ (??), 20:51, 08/02/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Бре-е-е-е-хня-я-я С Но с чего ты вдруг решило что тебе этот стольник дадут О... весь текст скрыт [показать]
     
  • 1.21, Аноним (-), 05:04, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Она давно была в поставке Android NDK, теперь просто переехала
     
  • 1.42, iZEN (ok), 09:25, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    У меня когнитивный диссонанс: если программа, написанная на C/C++, откомпилирована и работает на [i386], то она точно не запустится на [arm64] без специальных ухищрений, поскольку это "шитый машиный код" и от переносимого в исходных кодах Си в бинарнике ровным счётом ничего не осталось (если не включены отладочные символы и другая неоптимизация, но в релизе от этого избавляются). А что уж там проверять - есть ли SSE/3DNow! или нет на [arm64] - это вторичная глупость.

    ЧТО они запихнули в свою CpuInfo, что она может на лету определять архитектуру процессора и его фичи, мультизагрузчик, компилятор и генератор тестового машкода под кучу процессоров для выполнения в реальном времени что ли?

     
     
  • 2.44, Аноним (-), 09:59, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    оно не для переносимости бинарников на разных семействах, а внутри одного напри... весь текст скрыт [показать]
     
     
  • 3.52, iZEN (ok), 10:42, 08/02/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Так все новейшие плюшки, так и общий код в бинарнике включаются ещё на этапе ком... весь текст скрыт [показать]
     
     
  • 4.56, Аноним (-), 11:12, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Тогда этот бинарник перестанет запускаться на древнем Атлоне.  А с помощью библиотеки можно сделать, чтобы работал везде и использовал максиму фич имеющегося процессора.
     
     
  • 5.62, iZEN (ok), 12:16, 08/02/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    В любом случае вы не сможете запустить бинарник для amd64 на i386 без добавл... весь текст скрыт [показать]
     
     
  • 6.70, КО (?), 13:07, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Ты начни с начала Есть у тебя программа пускач и плюгины к ней Плюгин 8470 1... весь текст скрыт [показать]
     
     
  • 7.76, iZEN (ok), 13:24, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Это задача компилятора - вставить в результирующий бинарный код, оптимизирующие ... весь текст скрыт [показать]
     
     
  • 8.79, Аноним (-), 13:33, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Обычно компилятор не способен оптимизировать код лучше, чем грамотный разработ... весь текст скрыт [показать]
     
     
  • 9.82, iZEN (ok), 14:41, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Современные компиляторы способны выдавать лучше оптимизированный код, чем средний разработчик.
     
  • 8.107, КО (?), 15:13, 09/02/2018 [^] [ответить]    [к модератору]  
  • +/
    >Это задача компилятора - вставить в результирующий бинарный код, оптимизирующие инструкции из расширенного набора

    Проверять перед каждой инструкцией есть или нет в рантайме убивать идею (овчинка выделки будет не стоить).
    Один раз проверил и перешел на тот вариант кода который оптимален для платформы. Компилятор должен подготавливать эти варианты.

    Ну и Вы пропустили задачу с собственным JIT компилятором - ему то надо знать, что можно, а что нельзя делать.

     
  • 4.77, Аноним (-), 13:26, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Компилятор, в общем случае, сам ничего не добавляет Если ты в коде явно заюзал,... весь текст скрыт [показать]
     
  • 2.75, Аноним (-), 13:23, 08/02/2018 [^] [ответить]     [к модератору]  
  • +/
    Д-е-б-и-л Изучи код libc поуниверсальнее, которая умеет оптимизироваться под ра... весь текст скрыт [показать]
     
     
  • 3.86, пох (?), 16:40, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    он, похоже, даже не в курсе, что процессоры различаются не только битностью.
    куда ему там, glibc...

    ну и "компилятор генерит код лучше чем разработчик" - видимо, он прочитал в какой-то книжке начала 90х, времен хайпа риск-процессоров. Сегодня, чтобы компилятор сгенерил таки sse/ssse/avx код, надо ТАКУЮ хрень написать в исходнике, что глаза на лоб лезут. "зато переносимо". Ага, если не думать о том, КАК оно работает если компилятору таки не удалось опознать в этой вермишели свертываемость в sse инструкции, или на этой платформе оно устроено немного иначе.

     
     ....нить скрыта, показать (12)

  • 1.45, X4asd (ok), 10:16, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    > не генерируются исключения

    исключения?

    в Си?

    фуф! пронесло.. не генерируются :-D :-D :-D

     
     
  • 2.73, Аноним (-), 13:19, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    Вообще-то, сишный интерфейс не гарантирует, что внутри тоже C.
     
  • 1.64, Костик (??), 12:25, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    А такие фичи, как поддержку мелтдауна, оно детектит?
     
     
  • 2.78, Аноним (-), 13:28, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    > А такие фичи, как поддержку мелтдауна, оно детектит?

    Нет.

     
  • 1.69, XoRe (ok), 12:51, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    > Код написан в соответствии со спецификацией С89, что позволяет
    > охватить большинство современных и устаревших компиляторов.

    Неа.
    > We target gnu89 and not c89.

    https://github.com/google/cpu_features/issues/11#issuecomment-364057645

     
     
  • 2.74, пох (?), 13:22, 08/02/2018 [^] [ответить]    [к модератору]  
  • –1 +/
    >> Код написан в соответствии со спецификацией С89, что позволяет
    >> охватить большинство современных и устаревших компиляторов.
    > Неа.
    >> We target gnu89 and not c89.

    ффсе нормально, это gcc версий чуть поновее 2.7.2 и clang (если ключик не забыть) = "большинство", что не так?

     
  • 1.81, Аноним (-), 14:12, 08/02/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    При запуске на "Байкале" выдает ошибку ERR_CPU_NOT_FOUND
     
     
  • 2.84, Аноним (-), 15:12, 08/02/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Ты б ещё на эльбрусе запустил, выдало бы ERR_TRANSISTORS_NOT_FOUND.
     
     
  • 3.85, Аноним (-), 15:27, 08/02/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    ERR_MONEY_NOT_FOUND_BUT_YOU_HOLD_ON
     
     
  • 4.95, _ (??), 21:04, 08/02/2018 [^] [ответить]    [к модератору]  
  • +/
    О! How-much-watch-и пожаловали :-)
    попробуй "... but you stay strong!" глядишь на второй год не оставят :-)))
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor