Привет всем, я сейчас портирую raytracer с FORTRAN 77 на C. Для исследовательского проекта.
После того, как все основные компоненты перенесены, возникает вопрос, как нам перейти к распараллеливанию.
В лаборатории,У меня есть доступ к паре разных машин Opteron, с 2–8 ядрами, но без графических процессоров (на данный момент).Мы используем 64b gentoo.
Было бы (очень) желательно иметь версию GPGPU, но с одним программистом в проекте поддержание отдельных версий не-GPU и GPU не вариант.
Кроме того,код будет под лицензией GPL, и мы бы хотели, чтобы его использовали другие, у которых может быть совершенно разное оборудование.
Таким образом, вся программа должна легко компилироваться / выполняться без использования графического процессора или дажемногоядерная система.
OpenCl кажется хорошим вариантом, поскольку его можно запускать на компьютерах без графических процессоров, но как этот код будет работать в одноядерной или 32-битной системе?
Можно ли написать код втаким образом, что его можно легко скомпилировать без openCL?