A relação exata depende do cartão e do motorista. Os programas Shader são convertidos de formulários genéricos (OpenGL ou DirectX, por exemplo) em algo que a placa pode ser executada diretamente, como uma compilação just-in-time para linguagens como Java que usam bytecode.
Assim, o relacionamento depende da natureza do programa e do cartão. A placa pode precisar atribuir vários núcleos se o programa for grande e complexo, mas é mais provável que um único núcleo execute muitas instâncias do sombreador em vários processadores de fluxo.
Os cartões modernos atribuem o trabalho dinamicamente, de modo que raramente há um relacionamento de 1: 1. Cada núcleo tem vários processadores de fluxo, portanto, pode manipular vários shaders simultaneamente, se eles não forem muito complexos.