K-means, multithreading. C++
1500 ₴Реализовать кластеризацию k-means с помощь С++ используя multithreading. Создать от 1 до 3 потоков и сравнить время выполнения программы. Должна принимать ввод из командной строки.
Входные данные : файл
Выходные данные : файл
По общей договоренности: svg рисунок с кластеризацией.
Использование алгоритма : можно взять с интернета (предупредив), будет проверяться на плагиат.
Более детально - ниже. Примерочную программу в личные сообщения.
Общие требования:
- Включать имплементацию с одним или, возможно, несколькими потоками.
- Имплементация для одного потока обязательна, за имплементацию с большим количеством потоков бонус
- С легкостью проходить инструменты проверки, такие как Valgrind, Helgrind,…
- Программа должна быть переносимой для разных архитектур и операционных систем. Запрещено использование языковых расширений, поддерживаемых только некоторыми компиляторами. Запрещено использовать WINAPI и POSIX напрямую. (Связывание библиотеки pthread
с программой разрешено)
- Программа предоставляет неинтерактивный интерфейс, т.е. принимает ввод из командной строки, вводит данные из файла .
- Программа имплементирует переключатель --help - выводит список как используется программа и завершает работу.
- Программа не принимает неизвестные переключатели (отображает ошибку)
Код
* Содержит ли ваш код файл CMakeLists.txt, с помощью которого можно построить проект?
* Использует ли ваш код несколько потоков, если он имеет несколько ядер?
* Включает ли ваш код однопоточную имплементацию?
* Не использует ли код языковые расширения? (Например, OpenMP, VLA)
* Не использует код непереносимые библиотеки (например, POSIX, Win32)
Измерение
* Было ли измерение оптимизированной программы? (Был ли двоичный файл скомпилирован в режиме «Release»?)
* Был ли запуск с использованием большего количества потоков быстрее?
* Работал ли многопоточный запуск так же, как и однопоточный?
Отзыв заказчика о сотрудничестве с Anton Kravtsov
K-means, multithreading. C++Работал с фрилансером 2й раз, все в сроки и профессионально, прошлый отзыв можно прикрепить к этому. Рекомендую.
Отзыв фрилансера о сотрудничестве с Ihor Petrenko
K-means, multithreading. C++Повторное сотрудничество в рамках другой алгоритмической задачи прошло успешно. Все исходные данные были предоставлены своевременно. Срок, цену и функционал согласовали быстро. Результаты работы (как промежуточные, так и финальный) Игорь проверил достаточно оперативно. Рекомендую его как адекватного заказчика.
-
457 8 1 1 Доброго дня!
Я выполнял различные проекты на языке C++ (куда более сложные, чем этот), а также уже имею опыт с многопоточностью и CMake Данный метод кластеризации уже изучал в университете более подробно, поэтому с легкостью выполню задачу. Качество кода и комментариев гарантирую.
Срок стоит в 5 дней для того, чтобы успеть все сделать, и ничего не могло сорвать выполнение проекта.
-
2381 28 1 Хммм, очень интересно! Готов виполнить ваше задание на C/C++, и собрать код на cmake
-
фрилансер больше не работает на сервисе
-
696 15 0 Могу разработать для вас требуемую программу на C++ с многопоточной реализацией алгоритма k-means clustering.
Входные и выходные данные - файлы в простом текстовом формате.
Код - портируемый (Microsoft C++ compiler / g++), многопоточность - на базе STL, сборка - с помощью cmake (CMakeFiles.txt).
Цена указана за поставку в виде исходного C++ кода + файл для системы сборки + тестовые данные.
Окончательная готовность - днём 28.01.2021.
-
163 2 0 Готов выполнить данный проект. Есть большой опыт написания различного рода программ на С/С++.
-
Не совсем понятное ТЗ. Мультипоточность в C без зависимости от ОС не сделать. pthread это всего лишь одна из попыток убрать зависимость от ОС. Выбор использования нескольких ядер или одно - ОСозависимо, проблемы нет, но в каждой ос делают по своему. Непонятно в каком виде в SVG будет инфа. То что там будет кластер лично мне ни о чем не говорит. Пример бы посмотреть такого svg. Ну и если работу с ним писать самому то счет уже сразу пойдет как минимум на недели и стоимость на килобаксы. И по поводу переносимого кода тоже бы лучше уточнить. Переносимый вообще или переносимый между 32 отдельно и 64 отдельно