|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
mayton PetroNotC Sharp - ты слышал что нибудь про реализацию векторизации в JVM ? У меня хобби прикладной код и архитектура. То что "можно потрогать руками". ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 20:32 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Я пробовал векторное API на своем проекте, очень надеялся что будет летать, но.. никакого прироста не было :) Видать автовекторизация в моем случае и так хорошо срабатывала. Как вариант еще переход на float вместо double (если это допустимо) может ускорить работу. Да. Массив float - тоже хороший вариант. По крайней мере я не вижу доводов против. Если это поможет векторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2021, 22:59 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Линки по теме. Вот джеб. От 2018 года https://openjdk.java.net/jeps/338 ОТ 2021 года https://openjdk.java.net/jeps/414 Вот господин с прозаичной фамилией Иванов вещает нам свое видение ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 10:45 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
На 17 минуте Иванов показывает что детектирование факта перехода на векторизацию возможно для отладночных сборок. Это меня немного не устраивает. Это как работать с Ораклом и не видеть результата применения хинтов кроме как по времени отклика. А само по себе время в JVM - достаточно сложно измеримо. Нужен хороший прогрев и большая выборка измерений чтоб доказать что векторизация сработала. Альтернативный вариант - наблюдать дамп ассемблера через -XX:+PrintAssembly и просто ожидать там соотв. инструкций. Вообще чем больше я смотрю тем больше вижу что векторизация это очень малая часть стека которая мне реально нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 17:54 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Моя тренировочная база на сегодня. Допустим я решил развалить RGB картинку в YUV представление и для наглядности изобразить ее в виде 4х кадров - цветная и соотв 3 цветовых канала яркости и двух цвето-разностных. Как в телевидении Secam. Интересующий меня фрагмент - пока крохотный и не занимает особого времени в вычислениях. (Пока). Большую часть времени занимают чтение jpg файла и конверсия его в float представление. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:02 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Тренировочная JDK (предпоследняя на данный момент). Код: java 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:05 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
22 милисекунды на умножение двух плоскостей. Для 3х мегапиксельной картинки. Достаточно быстро пока чтобы я вообще не парился этим вопросом. Код: java 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:08 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Косячок. Кто знаток Swing-графики? Вот эта операция по идее асинхронная. И ее надо блочить то тех пор пока observer не получит событие что обновление завершено. Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:11 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
О. На 25 минуте Иванов показывает какие условия допустимы для unroll цикла. Переписал по аналогии. Пускай шаг идет в 4 байта и offsets будут констанатами. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Время пока не изменилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:16 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Черт. Шаблон не множко не тот. Кто помнит в SSE есть такая инструкция чтоб взять 4 вещественных и перемножить на 4 других и просуммировать результирующий вектор? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 18:24 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
maytonНа 17 минуте Иванов показывает что детектирование факта перехода на векторизацию возможно для отладночных сборок.Это ты смотришь про автовекторизацию. А в 16ой появилась явная - там прям Java API для того чтоб самому писать векторизованный код. Только этот API в инкубаторе пока. Но с такой простой математикой мне кажется у тебя должна была и автовекторизация включиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 19:28 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Я пожалуй пока возьму паузу. Я кое-какие выводы для себя сделал. В. - это хорошая механика но надо сначала делать прототип в обычном прямом виде и смотреть на В. лишь только после бенчмарков. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 10:30 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
забудьте про яву в контексте производительности. навсегда. уже все опции выбраны, не полечило ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 20:25 |
|
Кусочно линейная интерполяция с ограничениями
|
|||
---|---|---|---|
#18+
Siemargl забудьте про яву в контексте производительности. навсегда. уже все опции выбраны, не полечило Окей, теперь всё стало по своим местам. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 00:40 |
|
|
start [/forum/topic.php?fid=59&msg=40090773&tid=2120376]: |
0ms |
get settings: |
17ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
35ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
272ms |
get tp. blocked users: |
1ms |
others: | 360ms |
total: | 696ms |
0 / 0 |