Devo unificar dois kernels semelhantes com uma declaração 'if', arriscando a perda de desempenho?

Eu tenho 2 funções muito semelhantes no kernel, no sentido de que o código é quase o mesmo, mas com uma pequena diferença. Atualmente, tenho 2 opções:

screva dois métodos diferentes (mas muito semelhante Escreva um único kernel e coloque os blocos de código que diferem em uma instrução if / else

Quanto uma declaração if afetará o desempenho do meu algoritmo?
Eu sei que não há ramificação, pois todos os threads em todos os blocos entrarão no if ou no els
Então, uma única instrução if diminuirá meu desempenho se a função do kernel for chamada muitas veze

questionAnswers(2)

yourAnswerToTheQuestion