Добавить новость

Школьники Можайского округа присоединились к акции «Капля жизни»

SHOT: полиция проверит хоккеиста после опасного дрифта у стадиона «Спартак»

Пассажиропоток на Октябрьской железной дороге в январе-августе увеличился на 16,3%

Человек погиб в массовом ДТП с бензовозом на трассе М-11 в Тверской области





Новости сегодня

Новости от TheMoneytizer

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

Техническое задание (ТЗ) на переписывание программы с 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-фильтры с высокой производительностью.

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Огромную колонию живых муравьёв нашли в Москве в посылках с печеньем из Таиланда

Вагон пригородного поезда загорелся в Подмосковье

"В итоге прибывшие сотрудники полиции задержали и увезли именно москвича ... Зато толпа абу-шайтанов осталась на свободе, чтобы продолжать свое гульбище, подвергать опасности окружающих и нагло демонстрировать свою вседозволенность"

"Бездарная актриса за 420 тыс. рублей в день": Узнав о новых съемках россияне жестко раскритиковали дочь Юлии Пересильд

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

Представители филиала «Северный» ООО «ЛокоТех-Сервис» поздравили студентов профильных учебных заведений с Днём знаний

"Яндекс Аренда": россияне могут дешевле всего снять квартиру в Красноярске

Какая река самая широкая в России, и где она находится 

ТАСС: задержанного за взятку генерала Муминджанова отправили в Москву

Новости России

Диетолог Дианова рассказала о полезной замене чипсам

"В итоге прибывшие сотрудники полиции задержали и увезли именно москвича ... Зато толпа абу-шайтанов осталась на свободе, чтобы продолжать свое гульбище, подвергать опасности окружающих и нагло демонстрировать свою вседозволенность"

Вагон пригородного поезда загорелся в Подмосковье

Летевший в Великобританию самолет Air India внепланово сел в Шереметьево

Экология в России и мире

Дирекция по управлению персоналом и трансформации АО “Желдорреммаш” провела стратегическую сессию для руководителей служб филиалов компании

Российские туристы массово устремились в эти города в сентябре: спрос на некоторые подскочил в 7 раз

Годовая отчетная конференция Объединенного Совета ветеранов АО «Желдорреммаш» прошла в Челябинске

В Москве проходят теннисные матчи юношеского турнира памяти Ю. М. Лужкова

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

Объявлен состав сборной Казахстана на Кубок Дэвиса

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

Четвертая ракетка мира Зверев не смог пробиться в полуфинал US Open

Серена Уильямс ответила, планирует ли возвращаться в WTA-тур

Moscow.media

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

Уссурийский дизельремонтный завод обновляет свое оборудование за счет инвестиций

Призрачный мир осеннего акварельного Петербурга

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











Топ новостей на этот час

Rss.plus






Для российских туристов в Турции подготовят памятку, которая спасёт от беды

В Серпухове пройдет традиционный фолк-фестиваль

В Ярославской области состоится молодежный кинофестиваль «Свет миру»

Движение на МКАД в районе Каширского шоссе затруднено из-за ДТП