powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Поддерживает ли Java SIMD
15 сообщений из 15, страница 1 из 1
Поддерживает ли Java SIMD
    #39546951
aleks.eustace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста, есть ли в Java каким-то образом реализованная поддержка SIMD?
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39546997
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
API отсутствует, поэтому можно считать, что "нет, не поддерживает".
Соответственно - только JNI, только хардкор.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547013
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде, на уровне JIT умеет некоторые конструкции оптимизировать.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547604
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От "есть на уровне JIT" и "могу использовать в исходном коде" - дистанция огромного размера.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547638
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JIT использует SIMD оптимизации
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547648
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как прикладнику написать код, который гарантированно задействует SIMD подходящего уровня и не перестанет работать, если SIMD-а нет вообще или нет нужной версии?
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547842
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovИ как прикладнику написать код, который гарантированно задействует SIMD подходящего уровня и не перестанет работать, если SIMD-а нет вообще или нет нужной версии?
Поясни, что ты понимаешь под "SIMD-а нет вообще или нет нужной версии".

Лучше с примерами старше Пентиум3.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547846
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно имелось ввиду, процессоры "старше или новее..."

И относится только к Интел x86/x64
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39547857
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks.eustaceПодскажите пожалуйста, есть ли в Java каким-то образом реализованная поддержка SIMD?
Если ты где-то использовал String::equals() то считай что уже использовал интринзик с расширенным
набором команд типа SSE. Если ты где-то считал SHA1 - с использованием крипто-библиотек - то фактически использовал
под капотом AVX. Я не уверен на 100% что крипто-библиотеки обязательно это используют но если верно обратное - то
они теряют в перформансе и много.

Грубо говоря JDK и хорошие библиотеки - поддерживают.

Если ты хочешь сам заюзать расширенные наборы команд - то гоу-гоу учить ассемблер и JNI.

И самое главное - обосновать что SIMD будет полезен в данном кейсе. А это, согласись задача
не простая.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39548102
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovСоответственно - только JNI, только хардкор.с ассемблерными вставками (:
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39550004
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonГрубо говоря JDK и хорошие библиотеки - поддерживают.
Только, как Вы выше заметили, если есть intrinsic или иная нативная реализация. :)

Другими словами Java (как язык программирования) не поддерживает никак. Jvm чтоб их использовать использует черные хаки.

Да и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык. Они больше на преобразование монолита в склееные бетоном кирпичи нацелены.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39550009
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык .Ну, это во-первых очень затрантно в плане реализации. А во-вторых, в этом и нет особой необходимости.
Разработчики Javы могут лишь улучшить JVM добавив разные опции низкоуровневой оптимизации и т.д.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39550036
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык."... отдельные процессоры ..." - так будет правильно.
Когда подавляющее число разных процессоров, на которых может работать JVM, будет уметь более-менее одинаковый набор векторных команд - можно начинать думать "как работать с этим в языке".
До этого - точечные оптимизации на уровне JVM.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39550444
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanСергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык .Ну, это во-первых очень затрантно в плане реализации. А во-вторых, в этом и нет особой необходимости.
Разработчики Javы могут лишь улучшить JVM добавив разные опции низкоуровневой оптимизации и т.д.
В том то вся и беда, что добавить несколько примитивных типов (128,256,512 битных структур)
Которые могут представляться как набор double,single или int не сложно. Даже статические анализаторы кода могут разворачивать циклы по ним в то что может процессор. Но это ж не ООП. А нет примитива, нет и низкоуровневой оптимизации JIT, которым так хвалится Java. А на самом деле - подстановкой метода написанного на другом языке вместо одного единственного знакомого JVM.
Basil A. SidorovСергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык."... отдельные процессоры ..." - так будет правильно.
Когда подавляющее число разных процессоров,
Т.е. все более-менее современные x86+,ARM,Power и даже Spark. Самое смешное то, что делать и на других процессорах понятно - цикл не разворачивать (собственно можно уже и на современных Интелах - там уже в некоторых случаях rep opceode проц сам на исполнители SIMD раскидывает).
Но без возможности сообщить JVM что вот енто комплексное число и если в процессоре есть для него инструкции используй их. Как "точечно" JVM не оптимизируй все будет идти как будто проц этого делать не умеет, ну за исключением исключений.
...
Рейтинг: 0 / 0
Поддерживает ли Java SIMD
    #39550499
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевВ том то вся и беда, что добавить несколько примитивных типов (128,256,512 битных структур)
Которые могут представляться как набор double,single или int не сложно.
...
Т.е. все более-менее современные x86+,ARM,Power и даже Spark. Самое смешное то, что делать и на других процессорах понятноЧитаю и не могу отделаться от ощущения, что у вас уже есть кошерная реализация C2 JIT под несколько платформ, но по политическим мотивам ваша работа не принята в основную ветку.

P.S. Когда, говорите, убрали volatile из Long-обёртки?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Поддерживает ли Java SIMD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]