| eXeL@B —› Программирование —› Реализация параллельной сортировки |
| Посл.ответ | Сообщение |
|
|
Создано: 14 января 2010 16:00 · Личное сообщение · #1 |
|
|
Создано: 14 января 2010 17:32 · Личное сообщение · #2 |
|
|
Создано: 14 января 2010 17:53 · Личное сообщение · #3 mak Я кажется просил не приплюснутый си. Чтобы не терять время, сразу скажу, что гугл и sourceforge перехожены вдоль и поперек. Найдена целая куча приплюснутых реализаций, си реализации для pthread и MPI, а также куча глючных и тормозных примеров на форумах. Всё это можно допилить до нормального вида, но не хочется терять время, потому я и создал этот топик. В идеале мне нужна библиотека реализующая функцию идеентичную CRTшному qsort, быстрая, компактная и собирающаяся в VS2008 без сторонних библиотек и лишних телодвижений. Пожалуйста, не тратьте зря моё и своё время, не кидайте заведомо бесполезные ссылки. ----- PGP key ![]() |
|
|
Создано: 15 января 2010 00:14 · Личное сообщение · #4 > Я кажется просил не приплюснутый си. А что мешает переписать под Си? Разница ведь небольшая. Компилируешь в Си-компиляторе и отзываешься на каждую найденную "ошибку". Конечно, если исходник с классами, тот тут уже ничего не получится. Думаю, что именно поэтому ты не можешь найти именно Си-исходник, потому что Си++ легко превратить в Си. ![]() |
|
|
Создано: 15 января 2010 00:20 · Личное сообщение · #5 |
|
|
Создано: 15 января 2010 00:38 · Личное сообщение · #6 |
|
|
Создано: 15 января 2010 01:19 · Личное сообщение · #7 Isaev пишет: вот проблема! из с++ в C перевести Та ну какое "немного посидеть"? Если используется какой-то Win32 Threads метод, а в С++ долбанные авторы написали долбанные коды с такими же долбанными классами, из-за которых теряется суть алгоритма, то проще уже с нуля писать, ем это перегонять. ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
|
Создано: 15 января 2010 01:30 · Личное сообщение · #8 /offtop: 1) Неохото - пишется с окончанием "а". 2) идеентичную - с одной "е". Рекомендую сначала решить проблемы с пониманием языка, изучаемого многими за школьной партой и как следует! Только потом садиться за изучение результата труда уважаемых Кернигана и Ричи ! По делу: У тебя кроссплатформенная версия продукта будет ? Если нет, то почему нельзя найти худо-бедно работающую реализацию на ненавистном С++ и не сконверить в библиотеку с объектным кодом ? Которую можно прицепить соправодив ее инклудом. ----- My love is very cool girl. ![]() |
|
|
Создано: 15 января 2010 01:32 · Поправил: mak · Личное сообщение · #9 не приплюснутый си , такого еще не встречал выражения , но по второму посту вполне понятно. Либа должна быть независима от каких то сторонних вещей , в тоже время быть компактной , и легкой в добавлении к проекту , такие требования сейчас очень частые , в си с этим имеются проблемы , особенно с известными алгоритмами. Слава богу что я пишу на асм и нет таких проблем , предлагать асм варианты думаю не разумно . Вод если кто сталкивался с подобной проблемой и может писал под личное пользование .. многие пишут все вручную так как нет открытых подобных вещей. Наверное расчет только на пользователей ... но искал бы я не тут , а гденибудь на специфическом сишном форуме где алго чаще изучают чем тут А так , спам тема
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
|
Создано: 15 января 2010 04:09 · Личное сообщение · #10 AndreyMust19 пишет: А что мешает переписать под Си? Лень мешает, знаете ли. Я вроде ясно сказал, хочу библиотеку чтобы работало из коробки, и не хочу тратить своё время. К тому же используемая директива #pragma omp task не поддерживается MSVC, а её замена на #pragma omp sections тормозит хуже обычной однопоточной сортировки. Короче говоря - нахуй. theCollision пишет: theCollision Брысь нах из топика, флудер грёбаный. Такие все блять умные, возьми да сконверти, представляю себе, в какое дерьмовое месиво превратится код если постоянно так делать. Я кажется просил найти код под определенные требования, а не обсуждать разумность этих требований. З.Ы. была бы доступна #pragma omp task, я бы в два счета распараллелил рекурсивный qsort. А так получается большая жопа с синхронизацией, из-за чего параллельный qsort получается в 10 раз медленнее последовательного. ----- PGP key ![]() |
|
|
Создано: 15 января 2010 19:58 · Личное сообщение · #11 |
|
|
Создано: 16 января 2010 00:54 · Личное сообщение · #12 |
|
|
Создано: 16 января 2010 01:31 · Личное сообщение · #13 |
|
|
Создано: 16 января 2010 04:23 · Личное сообщение · #14 Isaev пишет: Рекурсивные алго - изначально ошибка... Я бы сначала от рекурсии избавился А можно по теме? Меня не интересуют ваши мнения относительно рекурсии или чего-либо еще, я спрашивал о конкретной реализации. fakit пишет: и выигрыш от многопточности зависит только от исходных данных Многопоточная сортировка как-раз мало зависит от исходных данных. Так что требуется именно универсальное решение. Для простоты можете представить, что сортируемые данные влезают в кэш, а значит алгоритм не упирается в скорость памяти. ----- PGP key ![]() |
|
|
Создано: 16 января 2010 11:31 · Личное сообщение · #15 |
| eXeL@B —› Программирование —› Реализация параллельной сортировки |










Для печати