A questão principal é que os algoritmos de classificação (1) precisam de muita flexibilidade e (2) seria muito difícil acelerar o uso de hardware de qualquer maneira.
Uma coisa é que os algoritmos de classificação já são fáceis com rapidez suficiente para superar a largura de banda da memória do processador - o processador já gastará uma grande proporção de seu tempo esperando que os dados se movam para trás e para a frente na memória principal. Um co-processador de classificação acelerado por hardware ou uma instrução de classificação especial teria o mesmo problema.
A maneira como essa largura de banda de memória está sendo tratada é usando algoritmos e estruturas de dados melhores com melhor "localidade", e ainda há trabalho significativo sendo feito nesse campo, particularmente "cache de algoritmos alheios" (eles são alheios no sentido em que trabalham) bem, independentemente dos detalhes do armazenamento em cache, enquanto os algoritmos "cientes do cache" são ajustados para um tamanho de página de cache específico etc).
Por outro lado, os aplicativos de mídia (áudio e gráficos, principalmente gráficos 3D) fazem uso de algumas estruturas muito repetitivas - é claro que há flexibilidade, mas são construídas sobre uma base grande e muito bem estruturada. Isso permitiu que a aceleração gráfica iniciasse simples com coisas como Blitting (uma operação de cópia em bloco configurável, mas ainda muito estruturada) e desenho de linhas / polígonos. Isso significava que, à medida que o processamento de gráficos e som se tornava mais sofisticado, as operações de vetor se tornaram um alvo óbvio para otimização - primeiro MMX (vetores de números inteiros) e depois SSE (vetores de flutuadores). Isso significava que havia uma estrutura bem definida para o funcionamento de um mecanismo de gráficos 3D quando o antigo pipeline de gráficos 3D de função fixa foi movido para o hardware de gráficos 3D.
No entanto, com gráficos 3D, o que antes era feito em hardware agora é feito em software para flexibilidade - shaders são softwares, por exemplo, e é assim que obtemos uma enorme variedade de shaders diferentes, dando a aparência de materiais diferentes. No entanto, esse software ainda funciona de uma maneira muito mais estruturada que o software geral e, portanto, ainda pode usar uma plataforma de hardware muito mais especializada. É por isso que sua placa gráfica agora pode acelerar tudo, desde a física até a quebra de senhas - aplicativos que também se encaixam no mesmo modelo e podem ser implementados com eficiência usando os conjuntos de instruções que os modernos processadores gráficos fornecem.
Os processadores gráficos agora são descendentes espirituais ou reais dos processadores de sinais digitais, que eram (e provavelmente ainda são) um tipo de processador especializado para lidar com sinais digitais (por exemplo, áudio).
O que leva a um ponto final - os algoritmos de classificação podem ser acelerados pelo hardware. Dependendo dos seus dados, a classificação pode ser feita com as instruções MMX ou SSE (instrução única com vários dados) no seu processador, mas provavelmente não há muito sentido por causa do problema de largura de banda da memória - talvez você possa ser um pouco mais eficiente em termos de energia dessa forma, no entanto. No entanto, você também pode usar seu hardware gráfico. Dessa forma, você pode se beneficiar da largura de banda de memória muitas vezes muito melhor para placas gráficas. Você não poderá substituir todos os tipos dessa maneira, mas certamente é possível e provavelmente está sendo feito quando apropriado.
Devido às várias questões práticas e econômicas, projetar hardware especificamente para acelerar uma tarefa relativamente estreita como a classificação não faz muito sentido. Um recurso que acelera uma gama mais ampla de tarefas ou que torna o hardware de aceleração existente aplicável a uma gama mais ampla de tarefas geralmente faz muito mais sentido.