Kennt jemand einen optimierten CUDA-Kernel zur Berechnung einer GEMM-Hamming-Distanz zwischen zwei Matrizen der Dimension A x N und N x B? Das Problem ist fast identisch mit GEMM, berechnet aber stattdessen die Summe (a_n! = B_n) für jeden Vektor {1 ... N}, anstatt jedes Vektorelement zu multiplizieren und zu summieren.Optimierte CUDA-Matrix-Hamming-Distanz
Ich wollte vor dem Schreiben meiner eigenen überprüfen, da dieses Problem relativ häufig ist, aber ich hatte noch keinen Erfolg darin, Code dafür zu finden. Vorschläge für Code zu ändern wäre auch hervorragend.
EDIT:
Neben kangshiyin Vorschläge unten, fand ich this walk-through of an optimized SGEMM implementation außerordentlich hilfreich sein, in dem Leitfaden CUDA C Programmierschritte über das grundlegende Shared-Memory-Matrix-Multiplikation Beispiel zu verstehen.