הקוד תקין, הקוד מבצע פעולת transpose על מטריצה A ושומר תוצאה במטריצה B
i מבצע חילוק של k ב-N, מכיוון ש-i הוא int אז התוצאה תחזיר את המנה של החלוקה (כלומר 0 עבור k מ-1 עד N, 1 עבור k מ-N עד 2N, 2 עבור 2N עד 3N וכו'), כלומר i רץ על השורה, j מבצע מודולו של החלוקה ובעצם לוקח את השארית ויהווה את העמודה שרצים עליה. i,j הם משתנים פרטיים עבור כל thread, שהם האינדקסים של המטריצות.
וככה מבצעים את הtranspose על A ושומרים את התוצאה במטריצה B ככה שכל thread יבצע את החישוב לפי האינדקס הפרטי שלו.