Переписать программу на GPU
1 000 руб. за проект
Реализовать вычисление энергии электростатического взаимодействия белковой молекулы. Расчеты нужно производить по формуле из вложений, где:
qi - заряд i-того атома;
r - расстояние между центрами атомов;
C = 1389.38757;
fij = 0, если атомы разделены меньше, чем тремя связями;
fij = 0.5, если атомы разделены тремя связями;
fij = 1, если атомы разделены более, чем тремя связями;
fij = 1, если атомы не связаны.
Итоговый код должен быть написан на CUDA/OpenCL, быть максимально оптимизированным и запускаться одной командой из терминала.
Входные данные:
На данный момент имеется программа, вычисляющая на CPU (C++) и неправильно работающая программа на OpenCL (выдаёт 0). Требуется исправить её или написать с нуля на CUDA/OpenCL. Предпочтительнее написать именно на CUDA.
Программу на CPU кину непосредственно исполнителю данного заказа.
qi - заряд i-того атома;
r - расстояние между центрами атомов;
C = 1389.38757;
fij = 0, если атомы разделены меньше, чем тремя связями;
fij = 0.5, если атомы разделены тремя связями;
fij = 1, если атомы разделены более, чем тремя связями;
fij = 1, если атомы не связаны.
Итоговый код должен быть написан на CUDA/OpenCL, быть максимально оптимизированным и запускаться одной командой из терминала.
Входные данные:
- Координаты атомов в файле atoms.txt в формате "x1 y1 z1 x2 y2 z2" (пространство трёхмерное).
- Заряды атомов в файле charges.txt.
- Индексы связанных атомов в файле bonds.txt. Пример: "1 4 2 6" означает, что атом 1 связан с атомом 4 и атом 2 связан с атомом 6. Нумерация начинается с нуля.
На данный момент имеется программа, вычисляющая на CPU (C++) и неправильно работающая программа на OpenCL (выдаёт 0). Требуется исправить её или написать с нуля на CUDA/OpenCL. Предпочтительнее написать именно на CUDA.
Программу на CPU кину непосредственно исполнителю данного заказа.
- Файлы
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.