Добавить новость
ru24.net
Работа
Сентябрь
2024
1 2 3 4 5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

C Python на C++ с использованием CUDA

0
Техническое задание (ТЗ) на переписывание программы с Python на C++ с использованием CUDA
1. Общая информация
Цель данного ТЗ — переписать существующую реализацию программы на Python для генерации и проверки криптографических ключей с использованием Bloom-фильтров на языке C++ с добавлением поддержки параллельных вычислений на GPU с помощью технологии CUDA. Основная задача программы заключается в генерации большого количества приватных ключей и их проверке на совпадение с известными криптовалютными адресами (BTC и ALT).

2. Задачи и функциональные требования
2.1. Переписать код на C++
Полностью переписать текущую Python-реализацию на C++.
Обеспечить функциональное соответствие между Python-версией и новой C++-версией.
2.2. Добавление CUDA для использования GPU
Реализовать параллельные вычисления с использованием CUDA для генерации приватных ключей и их проверки по Bloom-фильтрам.
Ускорить генерацию криптографических ключей и хэш-функций за счет вычислительных мощностей GPU.
2.3. Ключевые функции программы:
SecureRandom: Создать класс для генерации случайных чисел на основе seed (посевного значения) с использованием криптографически стойкого генератора случайных чисел.
Генерация приватных ключей: Реализовать функционал генерации приватных ключей в шестнадцатеричной форме.
Генерация адресов P2PKH: Реализовать функцию создания P2PKH-адресов (сжатых публичных ключей) с использованием алгоритмов SHA-256 и RIPEMD-160.
Поддержка Bloom-фильтров: Загрузка и использование Bloom-фильтров для проверки сгенерированных публичных ключей.
Параллельная генерация и проверка ключей:
Реализовать генерацию приватных ключей и их проверку с использованием нескольких потоков CPU (с помощью стандартной многопоточности C++).
Добавить поддержку CUDA для многопоточной генерации ключей на GPU.
Сохранение результатов: При нахождении совпадений сохранять приватные ключи и соответствующие публичные адреса в файл.
2.4. Параллельные вычисления на GPU (CUDA)
Использовать CUDA для ускорения:
Генерации приватных ключей.
Выполнения хэширования (SHA-256 и RIPEMD-160).
Проверки ключей с использованием Bloom-фильтров.
Обеспечить распределение задач на GPU таким образом, чтобы генерация и проверка адресов выполнялась максимально эффективно на графическом процессоре.
2.5. Оптимизация и производительность
Оптимизировать код с учетом архитектуры GPU для минимизации времени выполнения программы.
Использовать параллельные блоки и потоки CUDA для равномерной загрузки вычислительных блоков GPU.
3. Требования к архитектуре
Модульная структура:

Код должен быть разбит на отдельные модули для легкости сопровождения и тестирования:
Модуль генерации случайных чисел.
Модуль генерации приватных ключей.
Модуль хэширования и генерации адресов.
Модуль работы с Bloom-фильтрами.
Модуль параллельных вычислений (CUDA).
Поддержка многопоточности на CPU и GPU:

Генерация ключей должна поддерживать многопоточность как на CPU (с использованием стандартных библиотек C++ для многопоточности), так и на GPU (с использованием CUDA).
4. Требования к производительности (с поддержкой multi-GPU)
Программа должна поддерживать параллельные вычисления на минимум 8 графических картах NVIDIA GeForce RTX 4090 для обеспечения максимальной производительности при генерации приватных ключей и проверке адресов через Bloom-фильтры.
5. Требования к среде разработки
Язык программирования: C++ (стандарт C++17 и выше).
Для CUDA: минимальная версия CUDA 10.0.
Использование библиотек для криптографии: возможно использование готовых библиотек для работы с SHA-256 и RIPEMD-160 (например, OpenSSL или встроенные CUDA-функции).
Поддержка многопоточности: библиотека std::thread для многопоточности на CPU.
Компилятор: GCC или Clang для CPU; NVCC для компиляции CUDA-кода.
Операционная система: Linux или Windows.
6. Требования к вводу и выводу
Ввод:
Seed (посевное значение) для генерации приватных ключей.
Путь к Bloom-фильтрам для BTC и ALT.
Вывод:
Сохранение найденных приватных ключей и соответствующих адресов в файл.
Логирование процесса генерации (количество сгенерированных ключей, время выполнения, и т.д.).
7. Тестирование и валидация
Провести тестирование всех модулей, включая:
Тестирование генерации ключей на GPU и CPU.
Проверку правильности хэширования и генерации адресов.
Валидацию результатов проверки через Bloom-фильтры.
Обеспечить, чтобы результаты программы на C++ были идентичны результатам программы на Python.
8. Документация
Код должен быть снабжен комментариями для облегчения понимания.
Предоставить инструкцию по сборке проекта и его запуску.
Объяснить, как использовать CUDA для ускорения вычислений в программе.
9. Оценка сроков и этапы выполнения
Этап 1: Переписать Python-код на C++ с поддержкой многопоточности на CPU — 2 недели.
Этап 2: Реализовать поддержку CUDA и оптимизировать программу для работы с GPU — 3 недели.
Этап 3: Провести тестирование и отладку, устранить ошибки — 1 неделя.
Итого: 6 недель на выполнение задания.
10. Требования к квалификации исполнителя
Опыт программирования на C++.
Опыт разработки приложений с использованием CUDA.
Знание криптографических алгоритмов (SHA-256, RIPEMD-160).
Знание работы с Bloom-фильтрами.
Опыт работы с многопоточными приложениями.
11. Примерный результат
Переписанная на C++ программа с поддержкой многопоточности и ускорением на GPU с помощью CUDA, которая выполняет генерацию криптографических ключей, хэширование и проверку на совпадения через Bloom-фильтры с высокой производительностью.



Moscow.media
Частные объявления сегодня





Rss.plus



Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

В День солидарности в борьбе с терроризмом подмосковные росгвардейцы приняли участие в памятной акции «Вместе против террора»

Токсиколог Кутушов назвал привычку ставить много будильников опасной для здоровья

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах


Музыкальный Лейбл.

Токсиколог Кутушов назвал неожиданную пользу лисичек в борьбе с паразитами

Anex сделал заявление о вылетах в Хургаду и Шарм-эль-Шейх из различных городов России

Продолжается регистрация посетителей на выставку «Интерткань-2024. Осень»


JESSE WATTERS: No one is really voting for Kamala Harris

Jimmy Fallon plans to tape his mouth shut for a better night's sleep

Poll: Half of Gen Z voters support Harris, one-third back Trump

Gautam Rode reveals how he took Pankhuri Awasthy to introduce her to his friends for the first time before getting married and she didn’t ‘utter a word’


Филиал № 4 ОСФР по Москве и Московской области напоминает: В Московском регионе 11,4 тысячи пап находятся в отпуске по уходу за ребенком

Портативный ТСД корпоративного класса Saotron RT-T70

Пять жилых домов и два бомбоубежища снесут в Екатеринбурге в рамках КРТ

В Сочи подвели итоги конкурса национальной патриотической песни «Красная гвоздика» имени Иосифа Давыдовича Кобзона


1 млн предрегистраций на Nigoriri Angels on Stage и релиз на этой неделе

Court locks in Bungie's $4.4 million win against Destiny 2 cheat maker, refuses request for a new trial

Risk of Rain 2 creators weigh in on Gearbox's first DLC without them: 'It's great to see new content for the game, but it's hard to see growing pains of the new team in real time'

Spectre Divide launches with outrageous $90 gun skins out the gate, which only makes its broken matchmaking more annoying



Встроенный шкаф на заказ от производителя в Санкт-Петербурге

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

В День солидарности в борьбе с терроризмом подмосковные росгвардейцы приняли участие в памятной акции «Вместе против террора»




На Камчатке мужчина помог двум школьницам спастись от медведя

В День солидарности в борьбе с терроризмом подмосковные росгвардейцы приняли участие в памятной акции «Вместе против террора»

Встроенный шкаф на заказ от производителя в Санкт-Петербурге

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах


Сергей Собянин: Проводим комплексную модернизацию

Московское «Динамо» проиграло «Куньлуню» в матче КХЛ

Пригородные поезда на нескольких направлениях задерживаются из-за пожара в Химках

Выставка о защитниках Москвы открылась в Музее Победы


Первая ракетка мира Синнер вышел в четвертьфинал US OPEN, где сыграет против Медведева

Тиафу об Арене Артура Эша: «Я всегда мечтал играть на этом корте. Тут я лучшая версия себя»

Джокович проиграл в третьем круге US Open и впервые с 2017 года завершит год без титула на турнире Большого шлема

Александр Зверев квалифицировался на Итоговый турнир ATP


Пригородные поезда на нескольких направлениях задерживаются из-за пожара в Химках

Московское «Динамо» проиграло «Куньлуню» в матче КХЛ

Выставка о защитниках Москвы открылась в Музее Победы

Выше ставки: для кого вскоре подорожает ОСАГО


Музыкальные новости

Владимир Спиваков и НФОР отправятся на гастроли в Венгрию

Мистический сорт Свани. У дома Шатунова ко дню рождения зацвели белые розы

Баста пожелал терпения детям Курской области

Певица Natalie Orlie: «Это был праздник жизни, наполненный улыбками и теплом»



Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

Встроенный шкаф на заказ от производителя в Санкт-Петербурге

В День солидарности в борьбе с терроризмом подмосковные росгвардейцы приняли участие в памятной акции «Вместе против террора»

«Я чувствую вашу любовь!» – SHAMAN спел для слушателей «Авторадио»


Филиал № 4 ОСФР по Москве и Московской области напоминает: Более 644 тыс. пенсионеров Московского региона старше 80 лет получают повышенные выплаты

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

"Спартак" в меньшинстве вырвал победу в матче против "Рубина"

Токсиколог Кутушов назвал привычку ставить много будильников опасной для здоровья


Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

Водитель уснул за рулем и врезался в пенсионеров в Электростали

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах

Сотрудники Росгвардии задержали нетрезвого водителя в подмосковных Люберцах


Путин: Объем товарооборота России и Малайзии не устраивает Москву, возможности гораздо шире

Путин: Россия ждет расширение сотрудничества при председательстве Малайзии в АСЕАН

Монгольский прорыв

Путин: Россия рассчитывает расширить сотрудничество с Юго-Восточной Азией


В Ростовской области продолжает расти заболеваемость ковидом

Более 5 тыс. случаев заболевания COVID-19 выявлено в столице за неделю

Почти 5 тысяч заболевших COVID-19 выявили в столице за неделю




Женщина умерла после удаления фурункула в частной клинике в Москве

Это не амброзия. В Москву неожиданно возвращается сезон аллергии

В Москве завершили реконструкцию лечебного корпуса № 2 больницы им. Вересаева

Медицинский факультет открыли в университете народного хозяйства в Балашихе


В Киеве призвали отправить Зеленского в отставку


Дыбленко: в КХЛ зрелищный хоккей, уровень клубов плей-офф не упал

Наталья Карпович: «Бойцовский характер помогает и на ринге, и в жизни»

Вратарь сборной Вьетнама признался, что считает Льва Яшина своим примером: «Авторитетный человек»

«Динамо», несмотря на гол Гусева, проиграло «Куньлуню» в первом матче сезона


В Минске помилованы осужденные за протестные преступления



Сергей Собянин рассказал о развитии речного электротранспорта Москвы

Собянин назвал самые посещаемые в этом году музеи и выставочные залы Москвы

Запущено движение по дороге от Большой Филевской улицы до ТТК в Москве – Сергей Собянин

Сергей Собянин рассказал о задачах по повышению качества городской среды


И ток, и вода. В Москве открылись четыре новых причала для электросудов

На территории Южного округа Москвы прошли экорейды

"На нас надвигается волна аномального холода": погода с 5 сентября заставит достать куртки, температура упадет вниз

Участники «Московского долголетия» посетили Московский зоопарк


В Петербурге у пересечения двух дорог на полгода ограничат движение

Библиотеки Балашихи дали старт онлайн-бронированию книг

Связали и бросили. Подробности о мучительной смерти бармена на фестивале

Московское «Динамо» проиграло «Куньлуню» в матче КХЛ


Беспроводной сканер штрих-кодов SAOTRON P05i промышленного класса

ТСД SAOTRON RT41 GUN: практичный, производительный, надёжный

Архангельские работодатели жалуются на старение населения в регионе

Взгляд архангельского общественника изнутри на город, который ждёт перемен


1 и 2 сентября филиал РТРС «РТПЦ Республики Мордовия» и Министерство образования Республики Мордовия проведут совместную акцию, приуроченную ко Дню знаний и началу нового учебного года.

Выставка крымского имени «Тайны души и творчества Алемдара Караманова»

Вечер-аншлаг «Он жил, как песня, что длиною в жизнь»

Выставка-обращение «Наш мир без террора»


«Куньлунь Ред Стар» одержал волевую победу над «Динамо» в КХЛ

Связали и бросили. Подробности о мучительной смерти бармена на фестивале

Выставка о защитниках Москвы открылась в Музее Победы

Московское "Динамо" стартовало с поражения в новом сезоне КХЛ












Спорт в России и мире

Новости спорта


Новости тенниса
Янник Синнер

Первая ракетка мира Синнер вышел в четвертьфинал US OPEN, где сыграет против Медведева






«Куньлунь Ред Стар» одержал волевую победу над «Динамо» в КХЛ

Захарова: все замучились с зигзагами американской демократии

Выставка о защитниках Москвы открылась в Музее Победы

Сергей Собянин: Проводим комплексную модернизацию