Добавить новость
ru24.net
Все новости
Сентябрь
2024

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



Современный литературный критик. Литературная критика произведений.

YANDI.ga: Революция в коммуникации и Продвижении Музыкантов с использованием WEB3

Freedom Holding Corp. увеличил выручку на 33% и купил SilkNetCom

EVITA BEAUTY STORE - интернет-магазин косметики премиум-класса!


В Армении почтили память российских летчиков, сбитых азербайджанскими ВС 9 ноября 2020 года

По крови. Малышева назвала бесполезные анализы в обследовании щитовидки

Новый формат бесплатных консультаций в онлайн-журнале “Нулевой баланс”

Благотворительный спектакль «Хочу быть выше» будет посвящен 10-летию фонда «Жизнь в Движении»


Killer mom Susan Smith's parole bid inspires 360 correspondences—see how many favor her freedom

GREG GUTFELD: We may not get this country back on its feet tomorrow, but we're well on our way

Hibernian Community Foundation’s Dedication To Helping The Less Fortunate

I grew my business to 7 figures after leaving Meta and Google. Here's the coffee chat formula that helped.


Современный литературный критик. Литературная критика произведений.

Учёный Александр Гинцбург рассказал о разработке центром Гамалеи вакцины от ВИЧ

Волшебница Осень...

Функциональные и тихие: две клавиатуры от A4Tech для комфортной работы


The most underrated shooter of 2023 is free on Epic right now, and going for cheap on Steam

Darktide already has hard mode, but will add 40 extra hard, randomized difficulty levels anyway

Grab a friend to try these Deadlock duo lane picks and take a bite out of the cursed apple

2025's videogame Grammy nominations are the normal AAA fare and one surprising indie entry



Школьника из Иваново обвинили в порче автомобилей

ZALA. Бесшпионские системы // Осуждены обвиняемые в попытке вывезти за границу русский дрон

Благотворительный спектакль «Хочу быть выше» будет посвящен 10-летию фонда «Жизнь в Движении»

Почему картофель в России за год подорожал на 60 процентов




Функциональные и тихие: две клавиатуры от A4Tech для комфортной работы

Московский школьник отрубил себе палец топором

Эксперты назвали вероятность потери «Зенитом» титула чемпиона РПЛ в нынешнем сезоне, оценив его главных конкурентов

Поселок Пролетарский отметил 102-летие


Рабочее движение по Витебской развязке в Петербурге запустят в декабре

Выставка-признание «За боем бой», к 70-летию со дня рождения Ю.М. Полякова, советского, российского писателя, киносценариста, поэта, драматурга.

Ефимов: на севере Москвы два участка реорганизуют по программе КРТ

У РЖД возникла нехватка денег на развитие


Рублев поднялся на одну строчку в рейтинге ATP

Россиянин Медведев проиграл американцу Фрицу первый матч на Итоговом турнире ATP

Кудерметова в паре с Чжань Хаоцин вышли в полуфинал итогового турнира WTA

Россиянка Кудерметова проиграла в полуфинале парного Итогового турнира WTA


Суд в Москве заново рассмотрит дело бывших топ-менеджеров холдинга «Алмател»

Дмитрий Губерниев стал амбассадором Единой школьной лиги Подмосковья

«И семью всю забери»: учеба в московском вузе не спасла мигранта-киргиза от депортации из России

Выставка-признание «За боем бой», к 70-летию со дня рождения Ю.М. Полякова, советского, российского писателя, киносценариста, поэта, драматурга.


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

«У меня сорвало кукушку от количества» Джиган расскажет о своей зависимости в новом выпуске реалити «Большое переселение» на ТНТ

Markul выпустил новый сингл «Осадки» из альбома «Make Depression Great Again»

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

Лиза Василенко дала понять, что происходит в ее отношениях с Моргенштерном* на фоне слухов о расставании



Почему картофель в России за год подорожал на 60 процентов

ZALA. Бесшпионские системы // Осуждены обвиняемые в попытке вывезти за границу русский дрон

Школьники избили пассажира электрички и вступившегося за него уборщика в Москве

Школьника из Иваново обвинили в порче автомобилей


Фонд Потанина выделил миллиард на поддержку благотворительных инициатив, развитие социокультурных проектов и стипендиальные программы

LEON Вторая лига А. «Сибирь» принимает «Текстильщик», «Спартак» Кострома против «Волгаря»

В Улан-Удэ из Москвы прибыли легенды «Спартака»

Собянин сообщил о 17 сбитых на подлете к Москве БПЛА


Максим Урачаев возглавил управление дорожного хозяйства и транспорта администрации Ульяновска

Стало известно число пострадавших в массовом ДТП с грузовиками на МКАД

В Москве открылась новая автоматическая экспресс-АЗС

Школьника из Иваново обвинили в порче автомобилей


Заместитель управляющего Отделением Фонда пенсионного и социального страхования Российской Федерации по г. Москве и Московской области Алексей Путин: «Клиентоцентричность - наш приоритет»

Заместитель управляющего Отделением Фонда пенсионного и социального страхования Российской Федерации по г. Москве и Московской области Алексей Путин: «Клиентоцентричность - наш приоритет»

Журналисты рассказали о планах Путина на следующую неделю

Заместитель управляющего Отделением Фонда пенсионного и социального страхования Российской Федерации по г. Москве и Московской области Алексей Путин: «Клиентоцентричность - наш приоритет»





Mash: жену Хабенского актрису Литвинову госпитализировали из-за суставов

Росгвардейцы сдали кровь для пациентов московской больницы

В Кузбассе прошел Международный конгресс «От науки к практике в кардиологии и сердечно-сосудистой хирургии»

Юлиана Княжевская: В Лефортове появится новый медицинский центр


В Киеве отреагировали на отказ Зеленского от предложения Орбана

В Крыму поддержали настрой советника Трампа насчёт «хотелок» Зеленского касательно Крыма

WP: ВС России вместе с бойцами КНДР готовятся к крупному контрнаступлению на Курщине

Исторический звонок произошел за спиной Зеленского: Как разговор Трампа с Путиным поставил Киев в тупик


Росгвардия обеспечила правопорядок на хоккейном матче в Москве

Более 500 спортсменов стали участниками турниров по боевым единоборствам в преддверии Дня морской пехоты России

"Спартак" разгромил "Акрон" с Дзюбой в составе

Московский «Спартак» объявил об уходе спортивного директора Амарала




Собянин: Сбито еще пять БПЛА в городских округах Раменское и Домодедово

Собянин сообщил о 17 сбитых на подлете к Москве БПЛА

Сбиты силами Минобороны РФ: Собянин сообщил об уничтожении 32 БПЛА, летевших на Москву

Сергей Собянин: в Москве запущены сервисы ИИ в сфере градостроительства


Синоптик: до конца ноября обильных осадков в Москве не ожидается

Ликсутов: оператора Стандарта общественного капитала бизнеса утвердили в Москве

Акции протеста и метание грязи в королевскую семью: что происходит в Испании после наводнения

В Москву начали возвращаться редкие птицы


Дмитрий Губерниев стал амбассадором Единой школьной лиги Подмосковья

Школьники установили 40 новых кормушек для птиц в парке в Солнечногорске

Выставка-признание «За боем бой», к 70-летию со дня рождения Ю.М. Полякова, советского, российского писателя, киносценариста, поэта, драматурга.

Ефимов: на севере Москвы два участка реорганизуют по программе КРТ


KEY CAPITAL: Спрос на ипотеку в регионах РФ упал на 53%

Бизнесменов Хакасии приглашают принять участие в форуме «Дни ритейла в Беломорье»

Предпринимателей Хакасии приглашают на форум «Дни ритейла в Беломорье»

Правительство РФ выделит Якутии средства на уход за пожилыми и инвалидами


Краеведческий час «Этот тихий край мне мил и дорог».

Выставка-признание «За боем бой», к 70-летию со дня рождения Ю.М. Полякова, советского, российского писателя, киносценариста, поэта, драматурга.

МЧС: два человека погибли при пожаре в пятиэтажном доме в Симферополе

«Ноздря в ноздрю». Севастополь и Симферополь на вторичном рынке квартир в октябре дружно подорожали


«И семью всю забери»: учеба в московском вузе не спасла мигранта-киргиза от депортации из России

В Москву вернулись редкие виды птиц

Память героев Отечества почтили на чемпионате по боксу в Серпухове

Вице-мэр Ракова: Почти все дети-сироты в столице обрели приемных родителей












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

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


Новости тенниса
WTA

Гауфф выиграла Итоговый турнир WTA - 2024






Рабочее движение по Витебской развязке в Петербурге запустят в декабре

Школьники установили 40 новых кормушек для птиц в парке в Солнечногорске

«И семью всю забери»: учеба в московском вузе не спасла мигранта-киргиза от депортации из России

Дмитрий Губерниев стал амбассадором Единой школьной лиги Подмосковья