Свежие комментарии
Title | Comment |
---|---|
Вероятно, QGraphicsEffect |
Вероятно, QGraphicsEffect должен подойти для решения Вашей задачи. |
Состояние паинтера можно |
Состояние паинтера можно менять только из paint. Так что нужно создавать базовый класс который умеет переключать композишн. |
Эттта. DDK - это driver developers kit? Откудова там msvcrt. |
Эттта. DDK - это driver developers kit? Откудова там msvcrt.dll -то? Тамж тока мессия ntoskrnl.exe и пророк его hal.dll ))) |
Все чудненько встало, за |
Все чудненько встало, за исключением одной проблемы... Мак ОС напрочь не видит вмварьную звуковуху... что-нибудь можете посоветовать чтобы появился звук? |
Про SQLite не все знают. |
Про SQLite не все знают. |
Я думал на эту роль назначен SQLite. |
Я думал на эту роль назначен SQLite. |
Re: оффтопик про CUDA |
Кэшироваться должно хорошо, я ж в одно место пишу :) |
Re: оффтопик про CUDA |
Не, ну это ненастоящий код, ты же пишешь по одному адресу в __device__. Че там с (например) кэшами и конфликтами вообще неясно. |
Re: оффтопик про CUDA |
Именно так. Чтоб было понятнее, о чем речь, вот тестовый пример: http://dil.pp.ru/xfer-test.zip Если вообще ничего никуда не писать (возможно при этом проверяющая функция вообще не вызывается, потому что результаты её работы не используются и побочных эффектов нет): 1644 миллиона проверок в секунду. Если у функции включить побочный эффект в виде инкрементирования элемента глобальной структуры (инкрементирование работает, его видно потом в хосте): 1497 миллионов проверок. Добавляем безусловное инкрементирование другого элемента глобальной структуры после вызова функции: 1320 миллионов. Переносим это инкрементирование внутрь if(1): ничего не меняется. Меняем условие на if(result): скорость уменьшается в три раза, 467 миллионов/c. Не так заметно, как на живой программе, но всё же. |
Re: оффтопик про CUDA |
Если ты пишешь в глобальную память все результаты и если только "позитивные" - второй вариант сильно медленнее, при том что позитивных одна миллионная? |
Re: оффтопик про CUDA |
Нет, указатель был на локальную переменную вызывающей функции. По значению этой переменной после вызова и определяется, подходящий был аргумент, или нет. |
Re: оффтопик про CUDA |
Э, ну если указатель был на shared, а потом это место никак не используется - то я бы заоптимизировал. Но тогда запись *всех* результатов в global mem - тоже должна быть "медленной" в том смысле, что не оптимизированной в ноль |
Да не, современный мыскуль |
Да не, современный мыскуль уже почти хорош в плане транзакционности. Другое дело, что нормальные запросы там бывает сложно написать, но последователям .DBF не привыкать. Собственно, фиг с ним, с мыскулем, раз уж пЕсатели его выбрали, но можно же иногда без автокоммита работать? |
дешевизной миннимально |
дешевизной миннимально достаточного решения? :) когда я работал в .м, кстати, я пытался продвинуть идею, что неплохо бы и на шареде давать возможность пользовать постгресом ... идея не прошла ... |
А любов хостеров к мыскулю ты |
А любов хостеров к мыскулю ты чем объяснишь? "Берём..." -- что? |
На самом деле очень просто |
На самом деле очень просто объясним. Берем шаред хостинг, и смотрим сколько хостеров дают мускуль, а сколько - постгрес ... |
Re: оффтопик про CUDA |
Функция имеет тип void, а результат возвращает в переменную через переданный ей указатель. Если компилятор решил такое заоптимизировать в ноль, то его аффторов надо гнать погаными тряпками вон из профессии. |
Re: оффтопик про CUDA |
А я тут подумал, куря на балконе, что если у тебя результат вызова функции нигде не используется, то не мог ли оптимизатор просто весь этот вызов спилить вникуда? |
Re: оффтопик про CUDA |
вот насчет предикатов непонятно. в мануале написано, что так могут оптимизироваться операции из 4-7 команд, а сколько занимает копирование 8 байт, я не знаю. Профайлер еще не пробовал, за идею спасибо, она мне почему-то в голову не пришла :) |
Re: оффтопик про CUDA |
По идее, такие 1-2 команды должны оптимизироваться в команду с предикатом т.е. конечно пока в одном треде варпа она исполняется - все остальные будут стоять, но и все. А че профайлер говорит про это? Он, конечно, не operator-level (уроды), но об какое место тормозит можно, наверное, понять. |
Re: оффтопик про CUDA |
Даже не atomic. Простая условная запись даже в одну и ту же ячейку тормозит процесс на порядки. arg представляет собой unsigned char[8]. А если написать if(1), что вероятно оптимизируется компилятором в отсутствие if вообще, то торможения практически нет. То есть, проблема не в самой по себе записи, а именно в её условности. Так существуют какие-то идеологически более правильные способы возвращать такие наборы результатов? |
Не так и просто на это налететь, обычно оно на полдороге не |
Не так и просто на это налететь, обычно оно на полдороге не ломается. Но ломается - да, больно. |
Объясним, это DBF 21-го века! |
Объясним, это DBF 21-го века! |
Re: оффтопик про CUDA |
И что if(..) globalArray[atomicAdd(&counter,1)]=index тормозит весь процесс на порядки? Удивительное рядом. |
Это, я так понимаю, в шестерке? Надо будет посмотреть, сохра |
Это, я так понимаю, в шестерке? Надо будет посмотреть, сохранился ли этот баг в семерке, там работа с БД существенно переделана, в том числе и в части поддержки транзакций. |
Но сам факт буквально всенародной любви к мусклю при том, чт |
Но сам факт буквально всенародной любви к мусклю при том, что есть более-менее нормальная реализация sql - необъясним. |
Re: оффтопик про CUDA |
примерно один-два на миллион |
Re: оффтопик про CUDA |
А сколько этих самых ненулевых результатов, ну примерно? Если их совсем мало, то удивительно что оно у тебя тормозит на проверке, которая не срабатывает. Если их относительно много - то накопить все результаты и потом, отсортировав, выкинуть ненужное - будет быстрее. |
Re: оффтопик про CUDA |
собственно результат, выданный функцией, не нужен. нужно записать только вход, на котором функция выдала ненулевое значение |
Re: оффтопик про CUDA |
Я не вполне понимаю твою задачу, но вот например: У тебя же проблема не только в if(res) но и в том, что счетчик надо считать из глобальной памяти, потом записать что-то куда-то (относительно рандомная локация в рамках треда), потом и счетчик записать тоже. |
Pages
