Свежие комментарии

Title Comment
оффтопик про CUDA

У меня случился тяжелый затык. Я пытаюсь написать программу на CUDA, которая должна тупым перебором инкрементируемого аргумента выделить те его значения, на которых некая функция выдаёт положительный результат. Сама функция нетривиальная, но считается довольно быстро, многие десятки миллионов в секунду получаются. Искомых значений аргумента на несколько порядков меньше, чем их всего проверяется, но сильно больше одного.

Затык случился на методике возврата найденных значений в хост. Я попробовал через глобальный массив со счетчиком использованных слотов, который потом считывается в хост.

Простейший условный оператор if (res !=0) { дописать arg в возвращаемый массив } сокращает производительность на несколько порядков. Это даже без использования семафора, который по-хорошему таки нужен.

Ты случайно не знаешь, как принято поступать в подобных случаях?

О спасибо, интересный приём,

О спасибо, интересный приём, уже накрутил...
:)

Исторически это выглядело

Исторически это выглядело так:
- взяли пленку из новой партии (пусть ISO50 по номиналу)
- сняли ее как ISO32,40,50,64,80
- проявили, посмотрели, дальше снимаем с тем ISO, который больше понравился.

А разница в "знаках" она связана с тем, что на камере колесиком меняется *экспозиция*, а на экспонометре - *чувствительность*

Ага.

Ага.

>>Я на кнопку ISO2 повесил

>>Я на кнопку ISO2 повесил "headroom" (запас в экспозиции в светах) камеры (-3.3)
В терминах Секоника имеется ввиду Filter compensation ?

>>"если мы поставим ISO на 2

>>"если мы поставим ISO на 2 стопа выше, то экспонировать среднесерое надо так-то".
т.е. заточено приблизительно под такое:
"взяли плёнку из новой партии, стандартно экспонировали, стандартно проявили
(ну или нестандартно,но как-то одинаково). Увидели, что чутьё больше написаного
на коробке на 1.3 стопа , накрутили экспокоррекцию +1.3" ?
То-есть экспокоррекция в терминах чувствительности?
А на камере:
" Посмотрел на гистограмму, матюгнулся - опять замер на "такой сцене" мажет
в минус, крутну ка я колёсико в + "
А то что-то в голове не утаптывается...

Ну да, все правильно: -

Ну да, все правильно:
- "если мы поставим ISO на 2 стопа выше, то экспонировать среднесерое надо так-то".

Я на кнопку ISO2 повесил "headroom" (запас в экспозиции в светах) камеры (-3.3). Т.е. если замерять света, то по нажатию ISO2 получим такую экспозицию, что в светах еще не будет вылета.

Ну,собственно Jog wheel и

Ну,собственно Jog wheel и кручу, разумеется нажав предварительно iso1/iso2
одновременно. На индикаторе Adj, число и +/-.
Так вот если на индикаторе + то он потом экспозицию уменьшает,
в отличии от внутрикамерного...

Пардон, а что вы

Пардон, а что вы "крутите"?

Там же при кручении меняется экспопара, а если хочется поправки, то это делается кнопками iso1/iso2

Было бы желание у пЕсателей,

Было бы желание у пЕсателей, и в мыскуле бы смогли бы транзакцию сделать. Просто привыкли к автокоммиту, любители .DBF-переростка.

А вот, кстати, приехал мне с

А вот, кстати, приехал мне с инджапана sekonic 558.
И сразу дурацкий вопрос возник, а что, у него экспокоррекция
с другим знаком, по сравнению с кэноновским внутрикамерным?
Ну т.е. на кэноне я кручу вправо к +2 и получаю экспозицию больше.
А на секонике кручу на +2 и получаю экспозицию меньше...

Вот именно, такой вот бардак. А выбора нет - зато SECURE_SCL

Вот именно, такой вот бардак. А выбора нет - зато SECURE_SCL есть, тьфу.

*Как* при этом умудряются еще продавать библиотеки, вот чег

*Как* при этом умудряются еще продавать библиотеки, вот чего я не понимаю.

Впрочем, смотрю на Intel TBB. 4 версии (vc_mt, vc8, vc9, vc10). Умножить на две битности.

Слов нет.

Ну, кстати, в моей практике

Ну, кстати, в моей практике (Спамтест) тоже что-то такое было. Мы не libopenssl впихивали, но тоже что-то подобное, то ли резолвер, хрен упомнит.

В те годы в Линуксе бывало весело, поэтому наша задача была - получить бинарник, зависящий только от libc (его делать статиком в линуксе вредно) а все остальное всосать статикой.

Ну и в такой постановке это ничему не противоречит, кстати, потому что libc ни от чего не зависит сам, а следовательно его динамически линковать можно безопасно.

Еще msvcrt.dll забыл, из DDK ;-) А собирать под все версии

Еще msvcrt.dll забыл, из DDK ;-)

А собирать под все версии - еще тот сюр.

Для этого надо умудриться поставить мешок вижуалстудиев 2003, 2005, 2005sp1, 2008, и 2010. На подходе 2010sp1. Плюс минимум под две архитектуры - 32/64бит начиная с 2005.

Самое веселье - это когда нужно собрать под 2005 без сервиспака, а потом под 2005 с сервиспаком.

В итоге - уже 9(!) вариантов только релизных, и столько же дебажных. Может ну его нафиг, лучше на бейсике ваять? 8-)

Вот чес-слово, не понимаю - почему ребятам из DDK team вполне достаточно msvcrt.dll и добавления в проект win2003.obj (нужное подставить), а вот тиму по вижуалстудии - нет?

> - есть .so, которая зависит

> - есть .so, которая зависит от динамической libopenssl.so
> - а приложение линкуется статически

Но да, afair так и получилось. Причём libtool был упорен и хотел непременно впихнуть динамическую версию. в конце концов пришлось сесть и его попатчить. Я, помню, в ходе патченья реализовал ассоциативные массивы на шелле.

Там были специальные усилия.

Там были специальные усилия. Я ж говорю: проприетарщина и эффективный менеджмент.

Я вижу единственный способ

Я вижу единственный способ этого добиться не предпринимая специальных усилий:
- есть .so, которая зависит от динамической libopenssl.so
- а приложение линкуется статически.

Все другие способы предполагают запихивание статической openssl внутрь какой-то .so с экспортом символов. По смыслу это мало отличается от двух разных STL с одинаковыми именами функций, но требует специальных усилий для изготовления.

из Qt 4.7, кстати, часть либ

из Qt 4.7, кстати, часть либ переехала в qt mobility и переименовалась. mainstream дистрибутивы afaik это пережевали, задизаблив соответслвующие части в большом Qt, а вот более мелкие иногда собирают и то и другое.

Конкретно были две версии

Конкретно были две версии openssl, возможно даже одной версии. Одна статическая (в ряде мест), вторая .so

С опенсорцем понятно. Я вот Qt тоже пересобираю. Но раньше я

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

Но вообще, это же жопа.

А, точно, точно) Уже давно ставил и как-то тут понадобилось

А, точно, точно) Уже давно ставил и как-то тут понадобилось дебажить, а либ не нашёл, пришлось вручную собирать. Кстати, хотя меня это как заправского виндузятника малость пугало по началу, оказалось, что всё неплохо собираеццо и предсобранные версии особо и не нужны (особенно вспоминая, что уже 1.46 вышел, а они всё никак дальше 1.44 не уйдут - вчера проверял))

Я наступил на граблю дебаг/дебаг. Компилятор одного производ

Я наступил на граблю дебаг/дебаг. Компилятор одного производителя.

Начинаю сильно удивляться, как мир до сих пор не рухнул.

Не, дебажные версии тоже. 4 компилятора x 8 версий: <img src Не, дебажные версии тоже. 4 компилятора x 8 версий:
<blockquote>Под каждый рантайм, по четыре версии (/MT /MTd /

Под каждый рантайм, по четыре версии (/MT /MTd /MD /MDd) ?

Похоже на то.
По крайней мере предсобранный в boostpro.com буст так и поставляется (точнее, поставляются только релизные версии под разные рантаймы). Да и другие либы вроде так же...

Такие вот жопа-кеды... Надо бы как-то более реально МС попинать, но это такой неповоротливый монстр, что как это сделать - я х.з. До сих пор СП1 для 10-студии сделать не могут...

> <holywar>ну, примерно как в Linux сделано</holywar> Да!

> ну, примерно как в Linux сделано

Да! Да! Да!
Сколько людей наступает на грабли с этими релиз/дебаг либами!

"Примерно того же" - это две

"Примерно того же" - это две версии libc в одном процессе? Как-то удивительно.

Вот с чем я сталкивался, это когда две *разные* библиотеки реализуют одинаковые вызовы. Конкретно в нашем случае это были libstdc++ и STLport. Это тоже был секс, конечно.

> не должно быть у процесса

> не должно быть у процесса нескольких версий одного рантайма

дадада. И в Linux, при залезании в проприетарщину и прочий эфффективный менеджмент, на это можно напороться и легко огрести примерно того же.

Пока особо нечего показать,

Пока особо нечего показать, второй день у меня.

Пока по ощущениям - просто "28". С небезобразной нерезкостью.

поправил, спасибо

поправил, спасибо

Pages

Subscribe to comments_recent_new