2015-02-08 5 views
1

Мне интересно, можно ли создать пользовательскую функцию и вызвать любой из языков GPGPU.Monetdb, cuda, opencl, amd bolt

Можно ли вызывать функции cuda из monetdb? Я читал про болт. Будет ли возможно использовать с monetdb?

Благодаря

ответ

1

можно реализовать функцию C, которая использует OpenCL/CUDA. Эта функция затем может быть подвергнута интерфейсу запросов более высокого уровня, например SQL. Такая пользовательская функция может затем использоваться в запросе SQL. This page объясняет, как создать уровень C в MonetDB и сделать его доступным как SQL UDF.

В качестве альтернативы можно создать новый план выполнения запросов, который заменяет один из существующих вызовов функции таким образом на оптимизированную функцию CUDA/OpenCL. Это намного сложнее, так как создание нового плана - это большая работа, и может быть сложно поддерживать крупные обновления MonetDB. Преимущество заключается в том, что не нужно делать вызовы для пользовательского SQL, вместо этого MonetDB будет вызывать оптимизированную функцию, когда выполняется альтернативный план запроса. Например. вы можете вызвать обычный SQL SELECT, в то время как под капотом MonetDB будет использовать новую версию CUDA. Более подробную информацию об этом вы можете найти на странице Optimizer Pipelines.

Вы также можете попробовать получить помощь от сообщества/разработчиков MonetDB на mailing list.

+0

Я потерял дар речи! Благодарю. Есть идеи о том, кто уже сделал? Я отправлю вопрос сообществу. – GBrian

Смежные вопросы