Как ускорить поиск строки с помощью openclC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как ускорить поиск строки с помощью opencl

Сообщение Anonymous »

Я пытаюсь использовать OpenCl для ускорения поиска строк. Однако в настоящее время мне трудно сделать это быстрее, чем std :: find. Вот код, который предварительно реформирует строки для справки. < /P>

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

#define CL_HPP_TARGET_OPENCL_VERSION 300
#define CL_HPP_ENABLE_EXCEPTIONS

//This function can throw exceptions
int clSearch(const std::string& str, const std::string& substr) {
PROFILE_FUNCTION();
int hostResult = -1;

Timer* setupTimer = new Timer("Setup Context and Queue");
// Create context (first available device)
cl::Context context(CL_DEVICE_TYPE_DEFAULT);

// Create a command queue
cl::CommandQueue queue(context);
delete setupTimer;

//Each work-item checks if 'substr' occurs at position `i` of 'str'.
std::string kernelSource = R"(
__kernel void searchNaive(
__global const char* text,
__global const char* pattern,
const int textLen,
const int patternLen,
__global int* result
)
{
int i = get_global_id(0);

// If there's room for the pattern starting at i:
if (i + patternLen 

Подробнее здесь: [url]https://stackoverflow.com/questions/79449514/how-to-speed-up-string-search-using-opencl[/url]
Ответить

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

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

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

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

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