|
|
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста, есть ли в Java каким-то образом реализованная поддержка SIMD? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 19:14 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
API отсутствует, поэтому можно считать, что "нет, не поддерживает". Соответственно - только JNI, только хардкор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 20:57 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Вроде, на уровне JIT умеет некоторые конструкции оптимизировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2017, 21:31 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
От "есть на уровне JIT" и "могу использовать в исходном коде" - дистанция огромного размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 18:21 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
JIT использует SIMD оптимизации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 20:17 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
И как прикладнику написать код, который гарантированно задействует SIMD подходящего уровня и не перестанет работать, если SIMD-а нет вообще или нет нужной версии? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2017, 20:46 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovИ как прикладнику написать код, который гарантированно задействует SIMD подходящего уровня и не перестанет работать, если SIMD-а нет вообще или нет нужной версии? Поясни, что ты понимаешь под "SIMD-а нет вообще или нет нужной версии". Лучше с примерами старше Пентиум3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2017, 21:32 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Конечно имелось ввиду, процессоры "старше или новее..." И относится только к Интел x86/x64 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2017, 21:37 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
aleks.eustaceПодскажите пожалуйста, есть ли в Java каким-то образом реализованная поддержка SIMD? Если ты где-то использовал String::equals() то считай что уже использовал интринзик с расширенным набором команд типа SSE. Если ты где-то считал SHA1 - с использованием крипто-библиотек - то фактически использовал под капотом AVX. Я не уверен на 100% что крипто-библиотеки обязательно это используют но если верно обратное - то они теряют в перформансе и много. Грубо говоря JDK и хорошие библиотеки - поддерживают. Если ты хочешь сам заюзать расширенные наборы команд - то гоу-гоу учить ассемблер и JNI. И самое главное - обосновать что SIMD будет полезен в данном кейсе. А это, согласись задача не простая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.11.2017, 21:55 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovСоответственно - только JNI, только хардкор.с ассемблерными вставками (: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2017, 21:52 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
maytonГрубо говоря JDK и хорошие библиотеки - поддерживают. Только, как Вы выше заметили, если есть intrinsic или иная нативная реализация. :) Другими словами Java (как язык программирования) не поддерживает никак. Jvm чтоб их использовать использует черные хаки. Да и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык. Они больше на преобразование монолита в склееные бетоном кирпичи нацелены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 08:36 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык .Ну, это во-первых очень затрантно в плане реализации. А во-вторых, в этом и нет особой необходимости. Разработчики Javы могут лишь улучшить JVM добавив разные опции низкоуровневой оптимизации и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 08:49 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевДа и вообще - те кто у руля Java явные противники внесения чего-нибудь, что могут современные процессоры в язык."... отдельные процессоры ..." - так будет правильно. Когда подавляющее число разных процессоров, на которых может работать JVM, будет уметь более-менее одинаковый набор векторных команд - можно начинать думать "как работать с этим в языке". До этого - точечные оптимизации на уровне JVM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 09:57 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
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 не оптимизируй все будет идти как будто проц этого делать не умеет, ну за исключением исключений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 17:53 |
|
||
|
Поддерживает ли Java SIMD
|
|||
|---|---|---|---|
|
#18+
Сергей АрсеньевВ том то вся и беда, что добавить несколько примитивных типов (128,256,512 битных структур) Которые могут представляться как набор double,single или int не сложно. ... Т.е. все более-менее современные x86+,ARM,Power и даже Spark. Самое смешное то, что делать и на других процессорах понятноЧитаю и не могу отделаться от ощущения, что у вас уже есть кошерная реализация C2 JIT под несколько платформ, но по политическим мотивам ваша работа не принята в основную ветку. P.S. Когда, говорите, убрали volatile из Long-обёртки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2017, 19:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39548102&tid=2122477]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 418ms |

| 0 / 0 |
