¿­·¢ÌìÉúÓ®¼ÒÒ»´¥¼´·¢Ê×Ò³

黄金调教一视频丨ⅤK ×î½ü¸üÐÂ|¸üÐÂÁбí|×Öĸ¼ìË÷|ÏÂÔØÅÅÐÐ|Æ»¹û×¨Çø|·ÖÀർº½

Ä¿½ñλÖãºÊ×Ò³ ¡ú רÌâºÏ¼¯ ¡ú w3u7903ejky2ywls

k8¡¤¿­·¢ÌìÉúÓ®¼Ò¡¤Ò»´¥¼´·¢(ÖйúÇø)¹Ù·½ÍøÕ¾

OpenAI¾ÃÎ¥·¢ÁËÆª¡¸Õý¾­¡¹ÂÛÎÄ£ºÏßÐԽṹʵÏÖ¸ßЧÕÅÁ¿ÅÌËã

OpenAI¾ÃÎ¥·¢ÁËÆª¡¸Õý¾­¡¹ÂÛÎÄ£ºÏßÐԽṹʵÏÖ¸ßЧÕÅÁ¿ÅÌËã

»úе֮Ðı¨µÀ

±à¼­£ºPanda

OpenAI ·¢ÂÛÎĵįµÂÊÊÇÔ½À´Ô½µÍÁË ¡£

Èç¹ûÄã¿´µ½ÁËÒ»·ÝÀ´×Ô OpenAI µÄРPDF Îļþ£¬ÄÇ´ó¶¼Ò²ÊÇÐÂÄ£Ð͵Äϵͳ¿¨»òÏà¹ØÔö²¹Îļþ»ò»ù×¼²âÊÔ£¬ºÜÉÙÓÐеÄÑо¿ÂÛÎÄ ¡£

ÖÁÓÚÔ­ÒòÂï£¬Èøù«Ë¾×Ô¼ÒµÄ ChatGPT À´Ëµ°É£º¡¸½ØÖÁĿǰ£¬OpenAI ÔÚ 2025 ÄêÔÚ arXiv ÉϹûÕæÐû²¼µÄÂÛÎÄÊýÁ¿Ïà¶Ô½ÏÉÙ£¬¿ÉÄÜ·´Ó¦ÁËÆä¶ÔÑо¿½á¹û¹ûÕæÕ½ÂԵĽ÷É÷̬¶È£¬¿ÉÄܳöÓÚÉÌÒµ±£ÃÜ»òÄþ¾²¿¼ÂÇ ¡£¡¹

²»¹ý½üÈÕ£¬OpenAI ҲȷʵÐû²¼ÁËÒ»·ÝÍêÈ«ÓÉ×Ô¼ºÈ˼ÓÈëµÄ¡¢Êµ´òʵµÄÑо¿ÂÛÎÄ£¬ÆäÖÐÌá³öÁËÒ»ÖÖÓÃÓÚ¸ßЧÕÅÁ¿Ó³ÉäµÄͳһ´úÊý¿ò¼ÜLinear Layouts ¡£ÕâÊÇÒ»ÖÖʹÓöþÔªÏßÐÔ´úÊý¶ø·Ç±ÈÌØÌåÏÖ£¨bit representation£©µÄÕÅÁ¿½á¹¹µÄͨÓôúÊýÐÎʽ£¬½â¾öÁË Triton µÈÉî¶Èѧϰ±àÒëÆ÷Öкã¾Ã±£´æµÄÄÑÌâ ¡£

ÂÛÎÄÌâÄ¿£ºLinear Layouts: Robust Code Generation of Efficient Tensor Computation Using ?ÂÛÎĵص㣺https://arxiv.org/pdf/2505.23819.pdf

ÒªÀí½âÕâÏîÑо¿µÄÒâÒ壬Ê×ÏÈÐèÒªÏÈÀí½âÒ»ÏÂʲôÊÇÕÅÁ¿½á¹¹£¨tensor layouts£©

¼òµ¥À´Ëµ£ºÕÅÁ¿½á¹¹ = Âß¼­ÕÅÁ¿ÓëÓ²¼þ×ÊÔ´£¨ÀýÈçÄÚ´æ¡¢Ï̡߳¢ÏòÁ¿µ¥Î»£©Ö®¼äµÄÓ³Éä¹ØÏµ ¡£ÏÂͼ¸ø³öÁËÁ½¸ö½á¹¹Ê¾Àý ¡£

¹ØÓÚÏÖ´úÉî¶ÈѧϰÊÂÇé¸ºÔØ¶øÑÔ£¬ËùÐèÒªµÄÕÅÁ¿½á¹¹ÐèÒªÂú×㼸¸öÒªÇó£º

¸ßЧ£¨ÎªÁËÐÔÄÜ£© ¡£Áé»î£¨ÒÔÖ§³Ö¶àÖÖËã×Ó£© ¡£¿É×éºÏ£¨ÎªÁ˱任ºÍÓÅ»¯£© ¡£

È»¶ø£¬Ä¿½ñµÄ½á¹¹ÏµÍ³È´ÄÑÒÔ³ä·ÖÂú×ãÕâЩÐèÇ󣬶øÊÇÍùÍù£º

ÐèҪƾ¾Ýʵ¼ÊÐèÇóÉè¼Æ£¬²¢ÇÒÍùÍùÊÇÓ²±àÂëµÄ£¨ÐèÒªÊÖ¶¯±àд¹æÔò£© ¡£²»¿ÉÀ©Õ¹£¨Ã¿Ò»¶Ô½á¹¹¶¼ÐèÒª¶þ´Î×éºÏ£© ¡£ÈÝÒ×ÍÉ»¯£¬ÓÈÆäÊÇÔÚÏñ Triton ÕâÑùµÄµÍ²ã¼¶µÄºó¶ËÖÐ ¡ª¡ª ½ØÖÁĿǰ£¬Triton µÄ GitHub ¿âÖÐÌá½»µÄ 12% µÄ Bug Óë½á¹¹ÓÐ¹Ø ¡£

ÁíÍ⣬Éî¶ÈѧϰӲ¼þ£¨Èç GPU£©µÄÈÕÒæÅÓ´óÒ²µ¼ÖÂÕÅÁ¿½á¹¹ÈÕÒæÅÓ´ó ¡£

ÀýÈ磬ΪÁËʵÏÖ¸ßЧµÄ¾ØÕó³Ë·¨£¬Ó¢Î°´ïÔÚ Ampere¡¢Hopper ºÍ Blackwell µÈ²î±ð´ú¼ÊµÄ GPU ÉϽÓÄÉÁ˲î±ðµÄʹÓà Tensor Core µÄ½á¹¹£¬²¢ÇÒÿÖֽṹÔÚʹÓòî±ðÊý¾ÝÀàÐÍʱ¶¼Óвî±ðµÄ±äÌå ¡£AMD ºÍÓ¢ÌØ¶ûµÈÆäËü GPU ¹©Ó¦ÉÌÔÚÀûÓÃÆäÀàËÆ Tensor Core µÄ¼¼Êõ½øÐмÓËÙʱ£¬Ò²Ê¹ÓÃÁ˲î±ðµÄ½á¹¹ ¡£Òò´Ë£¬Ó²¼þ¼Ü¹¹µÄ¿ìËÙÉú³¤ºÍ¶àÑù»¯µÄÉî¶ÈѧϰģÐÍÐèÒªÒ»ÖÖеÄÕÅÁ¿½á¹¹½¨Ä£ÒªÁì ¡£

Ϊ´Ë£¬ÐèÒª½â¾öһЩ¼¼ÊõÄÑÌ⣺

ÔÚ½«ÕÅÁ¿Ó³Éäµ½Ó²¼þ×ÊÔ´·½Ã棬ÐèÒªÒ»ÖÖͨÓÃÇÒ¿É×éºÏµÄÌåÏÖÒªÁì ¡£½á¹¹×ª»»Ó¦¸ÃÓÃͳһµÄÐÎʽÀ´±í´ï£¬ÉõÖÁÐèÒª°üÀ¨ÖîÈçÊý¾Ý½»»»£¨data swizzling£©µÈÅÓ´ó±ä»» ¡£ÕâÖÖÌåÏÖ±ØÐëÓë³õ¼¶Ó²¼þÓÅ»¯Î޷켯³É£¬ÒÔÈ·±£¸ßЧµÄÊý¾Ý»á¼ûºÍÅÌËã ¡£

²»¹ý£¬ÔÚ½éÉÜ OpenAI ÕâÆªÂÛÎĵÄТ¾´Ö®Ç°£¬ÎÒÃÇÐèÒªÏÈÁ˽âһЩ»ù´¡¿´·¨ ¡£

Ïà¹ØÅ侰֪ʶ

GPU ¼Ü¹¹

ÔÚÉè¼ÆÉÏ£¬ÏÖ´ú GPU µÄÄ¿±êÊÇͨ¹ý°üÀ¨¶à²ãÓ²¼þ×ÊÔ´µÄ·Ö²ãÖ´ÐÐÄ£ÐÍÀ´³ä·ÖÀûÓò¢ÐÐÐÔ ¡£

ÆäÒªº¦Ö´Ðе¥Î»°üÀ¨Ð­×÷Ïß³ÌÕóÁÐ (CTA)¡¢Warp ºÍÏß³Ì ¡£Ã¿¸ö GPU Ï̶߳¼¿ÉÒÔ»á¼û˽ÓмĴæÆ÷ ¡ª¡ª ÕâЩ¼Ä´æÆ÷Ìṩ×îµÍÑӳٵĴ洢¿Õ¼ä£¬µ«ÈÝÁ¿ÓÐÏÞ ¡£Í¨ÀýÖ¸Áî¿ÉÒÔÓɸ÷¸öÏ̶߳ÀÁ¢Ö´ÐÐ ¡£È»¶ø£¬Ä³Ð©ÌØÊ⹦Чµ¥Î»±ØÐëÔÚ¸ü¸ßµÄÁ£¶È¼¶±ðÉÏÖ´ÐÐ ¡£

ÀýÈ磬Ӣΰ´ïµÄ mma£¨¾ØÕó³Ë·¨ÀÛ¼Ó£©Ö¸ÁîÀûÓà Tensor Core µÄ·½·¨ÊDz¢ÐÐÖ´ÐÐÓɸ÷¸ö Warp ·¢³öµÄ¶à¸ö³Ë¼ÓÔËËã ¡£¶ø wgmma£¨Warp ×龨Õó³Ë·¨ÀÛ¼Ó£©µÈ¸ß¼¶±äÌåÔòÊÇͨ¹ýÔÚ¶à¸ö Warp ÉÏͬʱִÐоØÕó³Ë·¨¶ø¶ÔÕâЩ¹¦Ð§½øÐÐÁËÀ©Õ¹ ¡£AMD Ò²ÒýÈëÁËÀàËÆµÄÔ­ÓÀýÈç mfma£¨¾ØÕóÈںϳ˼ӣ©Ö¸Áî ¡£

Çë×¢Ò⣬ÕâЩָÁîÒªÇóÊý¾ÝÂþÑÜÔÚÏß³ÌºÍ Warp Ö®¼ä£¬»òÕßÒÔÌØÊâ½á¹¹×¤ÁôÔÚ¹²ÏíÄÚ´æ»òÌØÊâÄڴ浥루ÀýÈç Blackwell É쵀 Tensor Memory£©ÖУ¬²Å»ª±¬·¢ÕýÈ·µÄ½á¹û ¡£

È»¶ø£¬ÕâЩ½á¹¹Í¨³£²»»áΪ¼ÓÔØ / ´æ´¢µÈÆäËû²Ù×÷´øÀ´×î¼ÑÐÔÄÜ£¬²¢ÇÒ²¢·Ç×ÜÊÇ¿ÉÒÔʹÓÃÌØ¶¨Ö¸ÁÊý¾ÝÖ±½Ó´ÓÈ«¾ÖÄÚ´æ¸´ÖÆµ½ÌØÊâÄڴ浥λ ¡£

Òò´Ë£¬Í¨³£±ØÐë¶ÔÊý¾Ý½øÐÐÖØÐÂÅÅÁУ¬ÒԱ㽫ÓÃÓÚÄÚ´æ»á¼ûµÄ½á¹¹×ª»»ÎªÅÌË㵥λƫºÃµÄ½á¹¹ ¡£

¼ò¶øÑÔÖ®£¬ÒªÊµÏÖ·åÖµÐÔÄÜ£¬²»µ«ÐèÒªÀûÓÃÕâЩרÓõ¥Î»£¬»¹ÐèÒª¾«ÐÄÉè¼ÆÕÅÁ¿½á¹¹ºÍת»» ¡£

Triton ÓïÑԺͱàÒëÆ÷

Triton ÊÇÒ»ÖÖÀàËÆÓÚ Python µÄÓÃÓÚÌØ¶¨ÁìÓòµÄÓïÑÔ£¬ÆäÉè¼ÆÄ¿±êÊÇÌṩÓÃÓÚ±àд¸ßÐÔÄÜÉî¶ÈѧϰԭÓïµÄÁé»î½Ó¿Ú ¡£Triton µÄ±àÒëÆ÷ºó¶ËʹÓÃÁË MLIR£¬Ö§³Ö¶àÌõÀíÁýͳ±í´ï ¡£

¾¿Æä½¹µã£¬Triton ÄÚºË×ñÑ­µ¥³ÌÐò´ó¶¼¾Ý (SPMD) Ä£ÐÍ£¬ÆäÖÐÅÌËã±»»®·ÖΪ¶à¸öÁýͳµÄ Triton ³ÌÐòʵÀý ¡£ÕâÖÖÉè¼ÆÔÊÐí¿ª·¢ÕßÖ÷Òª¹Ø×¢ CTA ¼¶±ðµÄ²¢ÐÐÐÔ¼´¿É ¡£ÔÚ Triton ÖУ¬¡¸ÕÅÁ¿¡¹Ò»´ÊÖ¸µÄÊÇ´Óԭʼ PyTorch ÕÅÁ¿ÖÐÌáÈ¡µÄ¿é£¬ËüÃÇÓÃ×÷ GPU ºËµÄÊäÈëºÍÊä³ö ¡£

ÔÚ±àÒëÀú³ÌÖУ¬Triton µÄ Python ´úÂëÊ×Ïȱ»·­Òë³É Triton ·½ÑÔ (tt)£¬È»ºó½øÒ»²½·­Òë³É TritonGPU ·½ÑÔ (ttg) ¡£ÔÚ´ËÀú³ÌÖУ¬Ã¿¸öÕÅÁ¿¶¼ÓëÌØ¶¨µÄ½á¹¹Ïà¹ØÁª£¬ÒÔ³ä·ÖÀûÓÃÏÖ´ú GPU ÉÏ¿ÉÓõÄÓ²¼þ¹¦Ð§µ¥Î» ¡£ÀýÈ磬µ±Óöµ½ dot ÀàËã×Ó£¨ÀýÈç tt.dot ºÍ tt.dot_scaled£©Ê±£¬»á½ÓÄÉ mma ½á¹¹²¢Ê¹Óà Tensor Core ºÍÀàËÆµÄµ¥Î» ¡£

¹Å°å½á¹¹

ͼ 2 ÁгöÁË Triton ÖÐËùÓпÉÓõĽṹ ¡£

ÔÚ×î¸ß²ã¼¶£¬½á¹¹·ÖΪÂþÑÜʽ£¨Distributed£©½á¹¹ºÍÄڴ棨£¨Memory£©½á¹¹ ¡£Ç°ÕßÊÇÖ¸ÕÅÁ¿ÔªËØÂþÑÜÔÚ²î±ðµÄÖ´Ðе¥Î»ÖУ¬´ËºóÕßÊÇÖ¸ÕÅÁ¿ÔªËØ´æ´¢ÔÚÌØ¶¨µÄÌØÊâÄÚ´æÖÐ ¡£

ÂþÑÜʽ½á¹¹ÓֿɽøÒ»²½·ÖΪ Blocked¡¢Sliced¡¢MMA ºÍ MMA Input ½á¹¹µÈÀàÐÍ£¬¶øÄÚ´æ½á¹¹ÓֿɽøÒ»²½·ÖΪ Unswizzled ºÍ Swizzled ½á¹¹ ¡£

Blocked ½á¹¹Í¨³£ÓÃÓÚÁ¬ÐøµÄÄÚ´æ»á¼û ¡£MMA ºÍ MMA ÊäÈë½á¹¹ÓÃÓÚ¾ØÕó³Ë·¨ÔËË㣨ÀýÈç tt.dot£©µÄÊä³öºÍÊäÈë ¡£MMA ½á¹¹¿ÉÒÔÆ¾¾ÝÆäÓ³Éäµ½µÄÓ²¼þÖ¸Áî½øÒ»²½·ÖÀ࣬ÀýÈçӢΰ´ï GPU É쵀 mma ºÍ wgmma£¬»ò AMD GPU É쵀 mfma ¡£Sliced ½á¹¹ÊÇ´ÓÆä¸¸½á¹¹ÖÐÌáȡһ¸öά¶È£¬ÓÃ×÷¹ã²¥»òij¸ö¹éÔ¼ÔËËãµÄÊä³ö ¡£

¹Å°å Triton ½á¹¹ÏµÍ³ÒªÇóÿ¸ö½á¹¹½ç˵×Ô¼ºµÄ½Ó¿ÚÒªÁ죬ÀýÈçÿ¸öÏ̵߳ÄÔªËØÊýÁ¿ºÍÁ¬ÐøÔªËصÄÊýÁ¿ ¡£±ðµÄ£¬±ØÐëΪÿ¸ö½á¹¹ÏÔʽʵÏÖ¶ÔÕÅÁ¿ÔªËصÄË÷ÒýÒÔ¼°½á¹¹Ö®¼äµÄת»» ¡£ÕâÖÖÒªÁìµ¼Ö½ṹ½á¹¹ºÍת»»³£·ºÆð bug ¡£

Linear Layouts£¨ÏßÐԽṹ£©

ÏÂÃæ½«¼òµ¥½éÉÜÏßÐԽṹµÄ½ç˵¡¢Ò»Ð©»ù±¾µÄÏßÐԽṹËã×Ó¡¢´´Á¢ÖÖÖÖ Triton ½á¹¹ÒÔ×÷ΪÏßÐԽṹʵÀý£¬ÒÔ¼°Ó¦ÓÃÓÚ Triton µÄͨÓýṹÒýÇæ ¡£

Ò»¸öʾÀý

ÔÚ GPU ±à³ÌÖУ¬´ó´ó¶¼²ÎÊý¶¼ÊÇ 2 µÄÃÝ£ºÒ»¸ö Warp ÓÉ 32 »ò 64 ¸öÏß³Ì×é³É£¬Ò»¸ö Warp ×é°üÀ¨ 4 ¸ö Warp£¬¾ØÕó³Ë·¨ÄÚÁªº¯Êý£¨ÀýÈç mma ºÍ wgmma£©ÒªÇó Tile ³ß´çΪ 16 ¡Á £¬ÆäÖÐ ¡Ý 1 ¡£

±ðµÄ£¬ÔÚ Triton µÄ±à³ÌÄ£ÐÍÖУ¬ÕÅÁ¿µÄά¶ÈÒÔ¼°Óëÿ¸öÕÅÁ¿Ïà¹ØµÄ½á¹¹×Ó²¿·Ö£¨ÀýÈçÿ¸öÏ̵߳ļĴæÆ÷ºÍÏß³ÌÊýÁ¿£©¶¼±»ÏÞÖÆÎª 2 µÄÃÝ ¡£ÔÚͼ 1 ÖУ¬½á¹¹ A ÓÐÒ»¸ö 16 ¡Á 16 µÄÕÅÁ¿£¬ÆäʹÓÃÁ˶à¸ö 2 ¡Á 2 µÄ¼Ä´æÆ÷¡¢4 ¡Á 8 µÄÏß³ÌºÍ 2 ¡Á 1 µÄ Warp ¡£

ÓÉÓÚÕâЩÁ¿¶¼ÊÇ 2 µÄÃÝ£¬Òò´ËʹÓÃÆä×ø±êµÄ±ÈÌØÌåÏÖ£¬¿ÉÒÔÖ±¹ÛµØ¿ÉÊÓ»¯½á¹¹ A ÖÐÔªËØµÄÂþÑÜ£¨Èçͼ 1 Ëùʾ£© ¡£ËùÓÐÏ̵߳ļĴæÆ÷ 0 (_0) ¶¼Î»ÓÚ×ø±ê (, )£¬ÆäÖÐ ºÍ µÄ×îºó¼¸Î»£¨bit£©¾ùΪ 0 ¡£ÀýÈ磬Ïß³Ì _1 µÄ _0 λÓÚ (0, 2) = (000, 010) ¡£×÷Ϊ±ÈÕÕ£¬_1 ÔªËØµÄ×ø±êÖУ¬ µÄ×îºóһλʼÖÕΪ 0£¬¶ø µÄ×îºóһλʼÖÕΪ 1 ¡£ÀýÈ磬_9 µÄ _1 λÓÚ (2, 3) = (010, 011) ¡£

±ðµÄ£¬¹ØÓÚÈκÎżÊýÏß³Ì _£¬ µÄ×îºóһλÓë _0 ÖÐ µÄµ¹ÊýµÚ¶þλƥÅ䣬 µÄµ¹ÊýµÚ¶þλÓë _0 ÖÐ µÄµ¹ÊýµÚÈýλƥÅä ¡£ÀýÈ磬_10 = _01010 µÄ _0 λÓÚ (2, 4) = (010, 0100) ¡£ÕâÖÖϵͳÐÔ¶ÔÆëÁ¬Ðø±£´æ£¬±êÃ÷¶þ´ÎÃݽṹ×ãÒÔÇåÎúµØ¾ö¶¨ÁËÿ¸öÏß³ÌÔªËØµÄÂþÑÜ ¡£

×ÛÉÏËùÊö£¬¼ÙÉèÒ»¸ö¾ÞϸΪ 8 µÄÏòÁ¿ ÌåÏÖÒ»¸ö Warp ÖÐÏ̵߳ÄÒ»¸öÔªËØ£¬ÆäÖÐǰ 2 λÌåÏּĴæÆ÷ (Reg)£¬½ÓÏÂÀ´µÄ 5 λÌåÏÖÏß³Ì (Thr)£¬×îºóһλÔòÌåÏÖ Warp (Wrp)£¬Ôò¿ÉÒÔÈç´Ë½ç˵½á¹¹ £º

µ±ÐèÒª´ÓÂß¼­ÕÅÁ¿µÄ×ø±êÖлָ´Ó²¼þË÷Òýʱ£¬ÐèҪʹÓÃÇóÄæÔËËã ¡£

¶ÔÏßÐԽṹµÄ¸üÏêϸÍ걸ÐÔ˵Ã÷Çë»á¼ûÔ­ÂÛÎÄ£¬ÆäÖÐÉæ¼°µ½ËµÃ÷·Ö¿é½á¹¹¡¢mma ºÍ wgmma µÄÊäÈëºÍÊä³ö½á¹¹¡¢ÏßÐԽṹµÄ slice¡¢Ã¿¸öÂþÑÜʽ½á¹¹¡¢MMA swizzled ½á¹¹¡¢ÄÚ´æ½á¹¹¶¼ÊÇÏßÐԽṹ ¡£ÁíÍ⣬OpenAI Ò²ÔÚ Triton ˵Ã÷ÁËÈçºÎʵÏֽṹת»»ÒÔ¼°ÐÎ×´²Ù×÷ ¡£

²»µ«Èç´Ë£¬OpenAI ÌåÏÖ£¬ÏßÐԽṹΪÔÚÓïÑÔǰ¶ËºÍ±àÒëÆ÷ºó¶Ë¿ª·¢Ëã·¨ÌṩÁ˽ṹ»¯µÄ»ù´¡ ¡£ËûÃÇÒ²ÔÚÂÛÎÄÖиø³öÁËһЩҪº¦Ê¾Àý£¬ÕâÀï¾Í²»¹ý¶àÕ¹¿ª ¡£½ÓÏÂÀ´¼òµ¥¿´¿´ÐÂÌá³öµÄÏßÐԽṹµÄʵ¼ÊÌåÏÖ ¡£

ÆÀ¹À

OpenAI ½«ÓÅ»¯°æ Triton£¨¼¯³ÉÁË»ùÓÚÏßÐԽṹµÄÓÅ»¯£¬¼´ Triton-Linear£©Óëδ¼¯³ÉÕâЩÓÅ»¯µÄ»ù×¼ Triton ½øÐÐÁË±È½Ï ¡£Triton ºÍ TritonLinear Ö®¼äµÄÖ÷񻂿±ðÈçÏ£º

Triton ʹÓùŰåµÄÊý¾Ý½á¹¹£¬²»Ö§³ÖÈÎÒâÂþÑÜʽ½á¹¹µÄʵÓóÌÐò»òËüÃÇÖ®¼äµÄת»»£¬Òò´ËÈÝÒ×·ºÆð bug ¡£Triton δ½ÓÄÉÂÛÎÄÖÐÃèÊöµÄÓÅ»¯´úÂëÉú³É ¡£ÀýÈ磬½á¹¹×ª»»Ê¼ÖÕͨ¹ý¹²ÏíÄÚ´æ½øÐУ¬¶Ô¸ßЧӲ¼þÔ­ÓïµÄʹÓÃÓÐÏÞ ¡£

¼ÓÈëÆÀ¹ÀµÄÓ²¼þƽ̨¼û±í 1 ¡£

ΪÁË±È½Ï Triton ºÍ Triton-Linear µÄÐÔÄÜ£¬¸ÃÍŶӹ¹½¨ÁËһЩºÏ³É΢»ù×¼À´½øÐвâÊÔ£¬Õâ·½ÃæµÄ½á¹ûÇë»á¼ûÔ­ÂÛÎļì²ì ¡£ÕâÀï½ö¿´¿´ËüÃÇÔÚʵ¼Ê»ù×¼²âÊÔÖÐÌåÏÖ ¡£

ÔÚÈý¸ö²î±ðµÄƽ̨ÉÏ£¬OpenAI ÔËÐÐÁË TritonBench ÖÐµÄ 18 ¸ö»ù×¼²âÊÔ ¡£Í¼ 7¡¢Í¼ 8 ºÍͼ 9 ÖÐչʾÁË Triton-Linear ÔÚÈý¸öƽ̨ÉϵÄÐÔÄÜÌáÉý ¡£

ÓÉÓÚÿ¸ö»ù×¼²âÊÔ°üÀ¨¶à¸öÊäÈ룬×Ü¼Æ 420 ¸ö°¸Àý£¬Òò´ËËûÃÇʹÓÃÁËÎó²îÏߣ¨error bars£©À´ÌåÏÖÿ¸ö»ù×¼²âÊÔµÄ×îСºÍ×î´ó¼ÓËÙ ¡£

ÐèҪעÒâµÄÊÇ£¬ÓÉÓÚÓ²¼þÏÞÖÆ£¬²¢·ÇËùÓлù×¼²âÊÔ¶¼ÊÊÓÃÓÚÿ¸öƽ̨ ¡£ÀýÈ磬ijЩ»ù×¼²âÊÔÐèÒª½öÔÚ GH200 ÉϲÅÓеĴóÐ͹²ÏíÄڴ棬¶øÒ»Ð©ºËʹÓõÄÕÅÁ¿ÃèÊö·ûÒÀÀµÓÚ TMA ÒýÇæ£¬¶ø RTX4090 ºÍ MI250 ÉϾù²»Ö§³Ö TMA ÒýÇæ ¡£

¿ÉÒÔ¿´µ½£¬ÔÚ GH200 ÉÏ£¬ËûÃÇʵÏÖÁË 0.92 ±¶µ½ 1.57 ±¶²»µÈµÄ¼ÓËÙ£¬ËùÓлù×¼²âÊÔµÄÆ½¾ù¼ÓËÙ¾ùÁè¼Ý 1.0 ±¶ ¡£¼ÓËÙ×îÏÔÖøµÄ»ù×¼²âÊÔÊÇ int4_gemm¡¢ops_gemm ºÍ streamk_gemm ¡£

¿ÉÒÔÊӲ쵽£¬¸ßЧµÄÓ²¼þÔ­ÓÀýÈç ldmatrix ºÍ stmatrix£©ÔÚÕâЩºËÖб»¹ã·ºÓÃÓڽṹת»»ÒÔ¼°¹²ÏíÄÚ´æµÄ¼ÓÔØºÍ´æ´¢²Ù×÷ ¡£ÖµµÃ×¢ÒâµÄÊÇ£¬layer_norm ʵÏÖÁË´Ó 0.99 ±¶µ½ 1.57 ±¶µÄ¼ÓËÙ ¡ª¡ª ÔÚ²î±ðÐÎ×´Ö®¼äÌåÏÖ³öÁËÏÔÖø²î±ð ¡£¹ØÓÚijЩÊäÈëÐÎ×´£¬Triton-Linear Äܹ»¼ì²â¡¸µÈЧ¡¹½á¹¹Ö®¼äµÄת»»£¬´Ó¶ø½«×ª»»Àú³Ì½µµÍΪ no-op£¨ÎÞ²Ù×÷£© ¡£ÕâÖÖÓÅ»¯Ôھɰæ½á¹¹ÏµÍ³ÖÐÎÞ·¨ÊµÏÖ£¬ÒòΪËüÎÞ·¨Ö±½Ó±È½Ï²î±ðÀàÐ͵Ľṹ£¨ÀýÈ磬Blocked ½á¹¹ºÍ Sliced ½á¹¹£© ¡£

ÔÚ RTX4090 ÉÏ£¬ÐÂÒªÁìʵÏÖÁË 1.00 ±¶µ½ 1.51 ±¶µÄ¼ÓËÙ ¡£ÓÉÓÚ mma (RTX4090) ºÍ wgmma (GH200) Ö¸ÁîÖ®¼äµÄ²î±ð£¬ËûÃÇÔÚ template_attention ÉÏʵÏÖÁ˸ü¸ßµÄ¼ÓËÙ ¡£ÔÚ±¾ÀýÖУ¬tt.dot ÔËËãµÄ×ó²Ù×÷ÊýÔÚÑ­»·Íⲿ½ç˵£¬»áÖØ¸´´ÓͬһµØµã¼ÓÔØÊý¾Ý£¬Òò´Ë ldmatrix ºÍͨÀý¹²ÏíÄÚ´æÖ¸Áî¾ù¿ÉʵÏÖ¸ßÍÌÍÂÁ¿ ¡£ËäÈ»ÓÒ²Ù×÷ÊýÔÚÿ´Îµü´úÖж¼»á¸üУ¬µ« wgmma »áÖ±½ÓÔÚ¹²ÏíÄÚ´æÖлá¼ûËü£¬Ö»ÓÐÔÚ RTX4090 ÉÏ£¬¾­¹ýÓÅ»¯ºó£¬Ëü²Å»á±»½µ¼¶µ½ ldmatrix ÖÐ ¡£Òò´Ë£¬ÔÚ GH200 ÉÏʵÏֵļÓËÙÏà¶Ô½ÏµÍ ¡£ÔÚ MI250 ÉÏ£¬ÐÂÒªÁìʵÏÖÁË 0.98 ±¶µ½ 1.18 ±¶µÄ¼ÓËÙ ¡£

×ÜÌå¶øÑÔ£¬ÓÉÓÚȱ·¦ ldmatrix µÈ¸ßЧµÄÓ²¼þÔ­ÓTriton-Linear ÔÚ AMD GPU ÉÏʵÏֵļÓËÙµÍÓÚÔÚӢΰ´ï GPU µÄ ¡£

¹ØÓÚ OpenAI Open µÄÕâ¸öÑо¿£¬ÄãÓÐʲô¿´·¨ÄØ

Ïà¹ØÍÆ¼ö£ºXXNX日本52 日本XXXXX69护士囗交大交 国产精品㊙️精品3D漫画

·ÖÏí£º 2025-06-06 23:27:37 ¹²81¿î

µçÄÔ

°²×¿

Æ»¹û

Ïà¹ØºÏ¼¯

ÍøÓÑÆÀÂÛ ¼ì²ìËùÓÐÆÀÂÛ>>

Ðû²¼ÆÀÂÛ

(ÄúµÄÆÀÂÛÐèÒª¾­¹ýÉóºË²Å»ªÏÔʾ) ÍøÓÑ·ÛË¿QQȺºÅ:766969941

¼ì²ìËùÓÐ0ÌõÆÀÂÛ>>

ÍøÕ¾µØÍ¼