Я пытаюсь написать код, который выполняет расшифровку AES. У меня есть работающий код, но я хотел иметь возможность добавить цепочку блоков шифрования, которая требует, чтобы я выполнял операцию XOR после расшифровки.
Чтобы упростить написание и понимание кода, я написал код с использованием двух ядер. Тот, который выполняет расшифровку одного блока, и тот, который выполняет XOR для части CBC. Затем я отправил их в очередь через clEnqueueTask для каждого 16-байтового блока данных с зависимостью, указанной событием между расшифровкой и XOR.
Это оказывается очень медленным, оно работает в том смысле, что делает их в правильном порядке, но, похоже, не распараллеливает выполнение.
Кто-нибудь знает, почему или как улучшить производительность без потери детализации?