Решатель BIBD с CUDAPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Решатель BIBD с CUDA

Сообщение Anonymous »

Может ли кто-нибудь помочь мне написать решатель BIBD в CUDA? Я пробую LLM, но они терпят неудачу.
У меня есть следующий решатель в pycsp3, который отлично работает:

Код: Выделить всё

from pycsp3 import *

def bibd(num_participants, block_size, lambd):
clear()

num_blocks = int(
(lambd * num_participants * (num_participants - 1))
/ (block_size * (block_size - 1))
)
num_replicas = int((lambd * (num_participants - 1)) / (block_size - 1))

x = VarArray(size=[num_participants, num_blocks], dom={0, 1})
satisfy(
# constraints on rows
[Sum(row) == num_replicas for row in x],
# constraints on columns
[Sum(col) == block_size for col in columns(x)],
# scalar constraints with respect to lambda
[row1 * row2 == lambd for row1, row2 in combinations(x, 2)],
# Increasingly ordering both rows and columns
LexIncreasing(x, matrix=True),
)

if solve() is SAT:
print(values(x))
Однако я пытаюсь создать базу данных BIBD для диапазона num_participants, и это занимает очень много времени. Collab не работает, потому что вам нужно быть активным, а у меня нет другого компьютера, который я мог бы запустить параллельно.
Поэтому я думаю, поскольку это матричные операции, CUDA может значительно ускорит процесс, только я никогда не программировал решатель CUDA.
Буду признателен за любую помощь

Подробнее здесь: https://stackoverflow.com/questions/790 ... -with-cuda
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»