Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Rooster

Программирование[9]

Перепись  

260 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

Рекомендованные сообщения

Kant написал 4 часа назад:

что есть - матрица, где в каждой ячейке лежит 4канальный пиксель, то есть в одной ячейке лежит 4 числа

надо получить на выход матрицу, уже одноканальную, то есть с 1 числом в ячейке, в которой в каждой ячейке лежит индекс максимального из тех 4 каналов

добро пожаловать в шейдеры

(могбы и засамонить ес че, яж шейдерами 2 года как занимаюсь)

 

Kant написал 4 часа назад:

то есть условно в mat[x,y] лежало 4 числа (100, 0, 70, 255)

и в выходной mat[x,y] должно будет лежать число 3

если я правильно понял тебе нужен индекс максимального значения из четырех элементов?

не понял про выделение памяти и что в итоге ты хочешь получить...

 

тыж можешь просто бахнуть цикл со сравнениями по каждому элементы в CUDA и результат в свой конечный буфер записать, это будет очень быстро работать

 

если нужна супер оптимизация...

если у тебя целые числа то можно попробовать Radix сортировкой, видео

промежуточные мартицы с индексами адаптировать под твою задачу

 

и много других ситуативных сортировок... хз помоему я не понял что ты хочешь

или ты просишь сортировку написать? (или просишь назвать функцию OpenCV которая такое делает?)

 

(в Куда нет готовых функций, в Куда ты пишешь сам все все упирается в твою логику)(а OpenCV это фреймворк, лучше свою реализацию писать чем пользоваться левым фреймворком)

 

 

Поделиться сообщением


Ссылка на сообщение

я не могу бахнуть цикл, потому что для этого мне надо писать своё куда ядро, я не могу из обычных плюсов это дернуть, а делать своё ядро сразу приводит к лишним проблемам с компиляцией, потом без установленного сдк куды вообще ничего не компилится, а сейчас всё завернуто в опенсв и он всем занимается. короче писать своё без уже существующих матричных операций по времени разработки не выгодно сейчас, всё должно было быть готово еще вчера, как обычно

 

шейдеры тут тоже хз причем, в опенсв они не используются, в куде собственно тоже, прикручивать их ради 1 алгоритма опять же не выгодно абсолютно, тем более никто в проекте никогда с ними не работал

 

опенсвшной функции как раз и нет, в этом и проблема, есть только вычисление глобальных максимумов матрицы и то одноканальной

да и сортировки хз тут причем, это поиск максимума в 1 проход, зачем что-то сортировать то


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

ясно

 

просто информация - SIMD на процессоре такиеже быстрые как на GPU, просто их никто не использует

можешь переписать на CPU все что прибито к OpenCV и скомпилировать свою библиотеку из этого https://github.com/ispc/ispc

и эту библиотеку вызывать в своем коде, все будет на CPU и RAM

 

Kant написал 1 час назад:

всё должно было быть готово еще вчера, как обычно

ну я не знаю как быстро, за час твою задачу решить

 

разве только костылем как ты сам сказал, копируй из GPU свой массив на CPU и на CPU делай нужную выборку и отправляй обратно

оверхед жуткий, но если надо чтоб работало сейчас подругому помоему никак

 

Kant написал 1 час назад:

опенсвшной функции как раз и нет

я так и понял

 

сори кароче, ничем не помогу

Поделиться сообщением


Ссылка на сообщение

ну я примерный алгоритм родил, но не знаю как баг пофиксить, если в нескольких каналах получилось одинаковое максимальное значение, условно (0, 100, 10, 100)

 

псевдокод моего говнокода:

матрицы a, b, c, d - разделенная по каналам исходная

матрица max = cv::max(cv::max(cv::max(a, b), c), d) - матрица максимумов из всех четырех

матрицы xa, xb, xc, xd - cv::xor(max, a (или b, c, d)) - получили нули на местах максимумов, и ненули на остальных

еще 3 трешолдами превращаем эти матрицы в 1 на местах максимумов и 0 на остальных

и результат это xa * 0 + xb * 1 + xc * 2 + xd * 3;

 

слишком до пизды операций, плюс вот если максимумы дублировались в ячейке, то ксор вернет несколько нулей, которые превратятся в несколько единиц и сумма выйдет в итоге за пределы [0..3], и я чет не могу придумать, как это правильно пофиксить, чтобы была только одна единица, либо первая, либо последняя, не важно

 

 

 

а потом я еще открыл дальше кодяру, там поцоны еще какое-то непотребство с этим результатом творят, короче НУ ЕГО НАХУЙ ИДИТЕ В СРАКУ, ПУСТЬ НА ЦПУ РАБОТАЕТ

 

hira88 понравилось это

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)
Kant написал 2 часа назад:

ну я примерный алгоритм родил, но не знаю как баг пофиксить, если в нескольких каналах получилось одинаковое максимальное значение, условно (0, 100, 10, 100)

 

псевдокод моего говнокода:

матрицы a, b, c, d - разделенная по каналам исходная

матрица max = cv::max(cv::max(cv::max(a, b), c), d) - матрица максимумов из всех четырех

матрицы xa, xb, xc, xd - cv::xor(max, a (или b, c, d)) - получили нули на местах максимумов, и ненули на остальных

еще 3 трешолдами превращаем эти матрицы в 1 на местах максимумов и 0 на остальных

и результат это xa * 0 + xb * 1 + xc * 2 + xd * 3;

 

слишком до пизды операций, плюс вот если максимумы дублировались в ячейке, то ксор вернет несколько нулей, которые превратятся в несколько единиц и сумма выйдет в итоге за пределы [0..3], и я чет не могу придумать, как это правильно пофиксить, чтобы была только одна единица, либо первая, либо последняя, не важно

 

 

 

а потом я еще открыл дальше кодяру, там поцоны еще какое-то непотребство с этим результатом творят, короче НУ ЕГО НАХУЙ ИДИТЕ В СРАКУ, ПУСТЬ НА ЦПУ РАБОТАЕТ

 

Если xor на compare поменять, будет то что надо?

А, я не правильно понял проблему.

Можно после трешолдов сделать 4 матрицы уже с нужными значениями,
xa = xa * 0, xb = xb * 1, xc = xc * 2, xd = xd * 3

Потом взять еще раз максимум их всех чтобы разрешить конфликты.

 

Кстати xa можно не считать, т.к. в других матрицах уже будет ноль по дефолту, и если во всех 0 - значит он и был максимумом.


Изменено пользователем DeadMage
Kant понравилось это

Поделиться сообщением


Ссылка на сообщение

да, xa не нужен, я видел, более того, помимо того, что он математически получается не нужен, он еще и логически не очень нужен, тк в первом канале лежит вероятность "предикт 3 остальных каналов обосрался", что нам собственно и не интересно :trollface:

 

да, максимум умножений на индекс пофиксит баг, жаль только дорогой, а происходит редко скорее всего(

 

но я в любом случае дропну эту хуйню, там дальше еще вызывается inRange (которого нет на куде) трижды, которые создают из этой результирующей матрицы три матрицы с выигравшими 1, 2 и 3, которые потом через И с числами 1, 2, 4 объединяются в еще одну матрицу (типа полную маску, а нахуй я делил всё до этого, явно же можно прямо в ответ прыгнуть), а потом результат этого поиска максимальных индексов второй раз обрабатывается, проходя через конверсию цвета и потом через поиск контуров (КОТОРОГО СУКА ОПЯТЬ НЕТ НА КУДЕ, И Я ЕГО ТОЧНО НЕ НАПИШУ), так что идите нахуй :pepehands:

DeadMage понравилось это

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
JuJeu, GoldRobot и DeadMage понравилось это

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)
Neuronal Nightmares написал 24.09.2020 в 17:50:
RoflechPapecha написал 22.09.2020 в 14:13:

ребят, ищу годную книгу или курс по с++ для вкатывания с нуля,  заранее спс

 

sonac написал 22.09.2020 в 14:25:

страуструп

ИДиот конченный тупейший я в шоке вообще. Врагу же не пожелаешь такое.
Во первых это сложно для "вкатывания с нуля". Это не книжка по программированию это книжка по языку.
Во 2 это конченная мразь лысая пишет и ничего полезного в ней нет.
 200 первых страниц самлоюбование происходит  собой и своим языком. А дальше рассказывается почему ПЛюсы лучше чем си и на плюсах писать правильно так а не так как нормальные ребята на си пишут.
На деле этот дегенерат сам не знает как на нем писать он нихуя в своей жизни не написал кроме книжек своих дибильных.

@RoflechPapecha Язык Си без плюсов. Любые статейки в интернете сборник статей. Просто гуглишь и все. Книги нельзя читать вообще их дибилы пишут. Очень большая ошибка книги читать на любом этапе. ОСОБенно по языку 

 

123

@Neuronal Nightmares Начал вроде с курсов на ютубе от этого чела #SimpleCode , надеюсь не опозорился в треде.


Изменено пользователем RoflechPapecha

Поделиться сообщением


Ссылка на сообщение
KaRniZZZ и hira88 понравилось это

ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

нихуя тебя занесло

 


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)
GoldRobot написал 37 минут назад:

:lol::lol::lol:

 

шел 2020 год челики пытаются пользоваться UTF8 (земля пухом)

 

все системы сборки Гугла в их опенсурс проектах, которыми я пользовался, а это и 3D рендеры для андроида, и десяток разных компиляторов, и AI-системы, включая открытый движок Хрома

все они не поддерживают даже пробелы в путях к проекту, не то что другие символы кроме дефолтных английских букв-цифр

 

Цитата

Use the idiotic POSIX 2008 API (uselocale() etc.) (Too bad for users
  who try to build this on a system that doesn't have these - hopefully
  none are left in 2017. But if there are, torturing them with obscure
  build errors is probably justified

моглиб уже и свою библиотеку локали сделать на чистом Си и не зависящую ни от чего

а потом и свою локаль

так все делают


Изменено пользователем hira88

Поделиться сообщением


Ссылка на сообщение

Additional Requirements

• Swift, Golang, C/C++
• Linux, macOS
• Low-level systems programming or experience :hmtroll:
• Kubernetes
• Networking
• Familiarity with infrastructure as code (DevOps) methodologies
• USB :roflanebalo:


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

ебать челики с гугла обленились

 

About The Job

Software Engineer (10 positions), Google LLC. Mountain View, CA: Design, dev, mod, and/or test sw needed for various Google projects. MS (or foreign equiv.) in CS, Engg, Comp Info Syst, Math, Phys, or a related field and completion of a university-level course, research proj, internship, thesis, or 1 yr exp in: C++ or Java; distributed systems or multithreading; and machine learning, mapreduce, API development, or GWT. Any suitable combo of ed, train, or exp is acceptable. Salary: $145,725 —$178,000.

Sched: M-F, 9am—6pm.


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение
(изменено)

Вот я тоже вголоснул сегодня. Челики с фб приняли волевое решение. Есть фб сдк для ноды, там какой-то челик "пофиксил баг". Т.е. есть внутренняя реализация объекта, скажем есть поле report_id. Он делает коммит с сообщением "Должно быть id instead of report_id" :trollpalm:. Хуйня уже тысячу лет в кодовой базе. Один коммиттит, другой мержит, а у других прод падает :lol:


Изменено пользователем JuJeu

Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

что


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение

чет я не понял

если это не паблик апи, то кого ебет, нехуй юзать было

если это паблик апи, и они поменяли его не в мажорной версии, то земля пухом


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

о чем вы


ward написал 04.01.2022 в 02:54:

Hades для стада долбоебичей которые прокликивали Дэш и думали ебать они в артхаузнвй рогалик играют, не такие как все.

mazt3r написал 20.09.2019 в 11:27:

ласт оф ас - хуета для лисят и прочих мальчиков с вагиной между ног.

 

Поделиться сообщением


Ссылка на сообщение
Kant написал 4 минуты назад:

чет я не понял

если это не паблик апи, то кого ебет, нехуй юзать было

если это паблик апи, и они поменяли его не в мажорной версии, то земля пухом

Это официальная обёртка для fb апи.

GoldRobot написал 4 минуты назад:

о чем вы

О том что в фб на позицию инженера программного обеспечения хочется смузи пить и печеньки есть


Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
 

Поделиться сообщением


Ссылка на сообщение

81tq7ak0ywp51.jpg

Just.Doit, GoldRobot и MacJei понравилось это

Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...