Во первых есть облачные сервисы - ничего не покупаете платите за потраченные ресурсы. Обходятся они недешево, но это дешевле чем брать неизвестно какие сервера. А во время рассчетов в облаке можно мониторить нагрузку, и на основании этого составлять требования к серверам. Когда будут известны четкие требования можно и купить.
Во вторых - такие задачи можно раскидать на несколько машин, это довольно несложно. Сервер раздающий задания и клиенты которые получают свою часть обсчитывают и возвращают результат. Таким образом можно задействовать уже имеющиеся мощности, подключить добровольцев, заинтересованных людей которые предоставят мощности.
существуют ли решения (полупрофессиональные, суперкомпьютер уровня МГУ не надо), в которых можно одновременно использовать более одного многоядерного CPU + GPU?
Существуют, но не в стиле - пошел и купил в магазине. Такие вещи разрабатываются под заказ.
По сути это вычислительный кластер.
Можете создать сами, можете купить у тех кто занимается производством таких решений.
суперкомпьютер уровня МГУ не надо
Значит надо делать самим. Есть открытый и бесплатный софт для реализации вычислительных кластеров.