Есть ли какой-нибудь инструмент, который может переписать двоичный код для меня, чтобы использовать графические процессоры, инструкции SSE или быть многопоточными? У меня есть программа, которая имеет однопоточность и имеет много запасных циклов, но у меня нет источника.Перезаписать бинарный исполняемый файл для использования GPU/быть многопоточным?
ответ
Для этой задачи нет общих инструментов, потому что для параллелизующего кода требуется понять это, за исключением тривиальных случаев, таких как циклы.
Есть инструменты, которые могут работать на уровне источника, чтобы сделать более или менее тривиальную распараллеливание, но как только код будет скомпилирован, вы потеряете много семантической информации.
Вы можете попытаться распараллелить его на более высоком уровне путем нереста нескольких процессов.
E.g. если этот двоичный принимает параметр п и его время выполнения линейно относительно п то нереста P процессов могли в лучшем случае разделить время работы на р.
Конечно, вы должны убедиться, что эта программа не выполняет действия, которые не совместимы с распараллеливанием, потому что вы действительно можете испортить вещи: представьте, что эта программа использует файл для хранения временных данных, запуск двух экземпляров, вероятно, приведет к повреждению файла.
Поэтому перед попыткой запуска параллельных экземпляров осторожно определить периметр двоичного файла: файлы, базы данных, системные ресурсы (мьютексы, семафоры ...). Если вы используете файлы, расположенные в одной папке, вам придется дублировать двоичный файл в папках p.
- 1. Бинарный исполняемый файл Android
- 2. Как перезаписать исполняемый файл?
- 3. Hadoop Streaming: Mapper 'wrapping' бинарный исполняемый файл
- 4. Передача аргументов в бинарный исполняемый файл python
- 5. Бинарный исполняемый файл Python с MSAA зависает при выходе
- 6. Распределить бинарный исполняемый файл программы, созданной с помощью OpenCV?
- 7. Как создать бинарный исполняемый файл с использованием hex?
- 8. Как бинарный исполняемый файл знает свое местоположение в памяти?
- 9. Delphi внедрить DLL в исполняемый файл без использования ресурсов
- 10. Постоянно исполняемый исполняемый файл
- 11. Как построить исполняемый файл ffmpeg для Android?
- 12. Прочитано один файл с многопоточным
- 13. Оберните исполняемый файл в другой исполняемый файл
- 14. Какой исполняемый файл начал мой исполняемый файл?
- 15. parse jpeg бинарный файл
- 16. прочитать бинарный файл (питон)
- 17. C, читайте бинарный файл?
- 18. Как создать бинарный исполняемый файл для 32-битной gcc-машины с моей 64-битной gcc-машины?
- 19. C исполняемый файл для hex
- 20. Как проверить, что бинарный файл приложения включен,
- 21. Определите минимальную версию OSX. Бинарный файл был скомпилирован для
- 22. Как бинарный файл POST для node.js
- 23. Бинарный файл приложения iPhone для исходного кода
- 24. Ваш бинарный файл не оптимизирован для iPhone
- 25. Перезаписать файл расширения (Android)
- 26. Как перезаписать файл .mdf
- 27. Phonegap FileWrite перезаписать файл
- 28. msdeploy перезаписать существующий файл
- 29. xlswrite перезаписать существующий файл
- 30. Как преобразовать файл bash в исполняемый файл двоичного кода
Спасибо, прагма. Я предполагаю, что в коде есть петли и что они потребляют большую часть времени, надеясь, что кто-то написал что-то, чтобы реорганизовать их. – OneSolitaryNoob
@OneSolitaryNoob: Я бы не рассчитывал на это. :) И даже если вы найдете некоторые инструменты, которые обещают, что это будет очень осторожно, потому что возиться с бинарностью довольно смело. – Pragmateek
Я выглядел совсем немного, есть поле под названием «бинарная оптимизация», но похоже, что в последнее время у него не так много импульсов. – OneSolitaryNoob