Announcement

Collapse
No announcement yet.

Linus Torvalds Wishes Intel's AVX-512 A Painful Death

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linus Torvalds Wishes Intel's AVX-512 A Painful Death

    Linus Torvalds Wishes Intel's AVX-512 A Painful Death
    Intel’s Alder Lake-S CPUs won’t support the AVX-512 instruction, which further confirms the use of ARM’s big.LITTLE design

    Linus Torvalds (torvalds.delete@this.linux-foundation.org), July 11, 2020 11:41 amRoom: Moderated Discussions
    me (me.delete@this.me.com) on July 11, 2020 7:02 am wrote:
    > https://www.phoronix.com/scan.php?pa...pids-AlderLake
    >
    > Hope you didn't get too attached to AVX-512. The GCC 11 compiler target for Alder
    > Lake doesn't enable it, only AVX2. As Phoronix mentions the target likely is what
    > the small cores support and not necessarily the big... but it makes me wonder...

    I hope AVX512 dies a painful death, and that Intel starts fixing real problems instead of trying to create magic instructions to then create benchmarks that they can look good on.

    I hope Intel gets back to basics: gets their process working again, and concentrate more on regular code that isn't HPC or some other pointless special case.

    I've said this before, and I'll say it again: in the heyday of x86, when Intel was laughing all the way to the bank and killing all their competition, absolutely everybody else did better than Intel on FP loads. Intel's FP performance sucked (relatively speaking), and it matter not one iota.

    Because absolutely nobody cares outside of benchmarks.

    The same is largely true of AVX512 now - and in the future. Yes, you can find things that care. No, those things don't sell machines in the big picture.

    And AVX512 has real downsides. I'd much rather see that transistor budget used on other things that are much more relevant. Even if it's still FP math (in the GPU, rather than AVX512). Or just give me more cores (with good single-thread performance, but without the garbage like AVX512) like AMD did.

    I want my power limits to be reached with regular integer code, not with some AVX512 power virus that takes away top frequency (because people ended up using it for memcpy!) and takes away cores (because those useless garbage units take up space).

    Yes, yes, I'm biased. I absolutely destest FP benchmarks, and I realize other people care deeply. I just think AVX512 is exactly the wrong thing to do. It's a pet peeve of mine. It's a prime example of something Intel has done wrong, partly by just increasing the fragmentation of the market.

    Stop with the special-case garbage, and make all the core common stuff that everybody cares about run as well as you humanly can. Then do a FPU that is barely good enough on the side, and people will be happy. AVX2 is much more than enough.

    Yeah, I'm grumpy.

    Linus

    [CENTER]




    ก็แค่ AVX512 Gen12 มันก็ไม่มีอีกครั้ง ไม่มีกรูก็ไม่ตาย TIM COOK เชื่อว่าอย่างนั้น
    ฉลอง WWDC คืนนั้น จัด ARM Core ให้พอดี
    ถ้า INHELL มันรัก Apple จริงคงไม่ขาย MODEM แพงอย่างนั้น
    จะคิดมากไปทำไม ทำ ARM เองมันก็แรงเหมือนกัน
    re lunch จัดใหม่ให้ดีกว่าเดิม เมื่อวานมันแก้หัวไม่ได้น่ะ
    Last edited by ssk; 13 Jul 2020, 20:33:00.

  • #2
    เอาฉบับแปลไทยมาช่วยครับ




    ไลนัส แกมัน.....

    Comment


    • #3
      อันนี้ใช่มั้ยครับ

      Comment


      • #4
        ใช่ครับ

        Comment


        • #5
          So Nvidia **** you!

          Comment


          • #6
            Linus Torvalds สาปส่งชุดคำสั่ง AVX-512 หลังพบว่าซีพียู Alder Lake ไม่มีฟีเจอร์นี้ โดยระบุว่า “ผมหวังว่า AVX512 มันจะตายอย่างเจ็บปวดไปซะที” พร้อมกับเสนอว่า Intel ควรใช้พื้นที่ชิปทำอย่างอื่น เช่นการเพิ่มประสิทธิภาพคอร์หรือเพิ่มจำนวนคอร์แบบเอเอ็มดี

            เขาระบุว่าว่า Intel ควรจะกลับไปมองโปรเซสเซอร์ ไม่ใช่เอาแต่คิดชุดคำสั่งใหม่ๆ แล้วก็สร้าง benchmarks มาวัดผลเพื่อให้ชิปตัวเองดูดี เขาอยากให้ Intel กลับไปแก้ไขปัญหาพื้นๆ แล้วโฟกัสกับการทำงานของโค้ดปกติที่ไม่ใช่ HPC หรือรูปแบบพิเศษอื่นๆ มากกว่านี้ เลิกโฟกัสที่การคำนวณเลขทศนิยม (FP) ซะที เพราะมันไม่ได้สำคัญต่อผู้ใช้ขนาดนั้น สมัยก่อนที่ x86 ยังรุ่งๆ คู่แข่ง Intel มีประสิทธิภาพในการคำนวณเลขทศนิยมสูงกว่าทั้งนั้น แต่ Intel ก็ยังถล่มคู่แข่งได้

            ชุดคำสั่ง AVX-512 เป็นชุดคำสั่งประมวลผลแบบเวคเตอร์ขนาดใหญ่ เดิมเริ่มใช้งานในชิป Xeon Phi ที่เป็นการ์ดเร่งความเร็วสำหรับงานคอมพิวเตอร์ประสิทธิภาพสูง (HPC) โดยเฉพาะ แต่อินเทลเริ่มใส่เข้ามาในซีพียูหลายรุ่นในช่วงหลัง

            Linus ยอมรับว่าเขาอาจจะลำเอียงไปบ้าง เพราะไม่ชอบ benchmarks ที่วัดประสิทธิภาพการประมวลผลเลขทศนิยมเอาซะเลย แต่ก็ยังมองว่า AVX-512 เป็นสิ่งที่ Intel เดินเกมพลาด และ Intel ควรเลิกโฟกัสกับอะไรแบบพิเศษๆ ที่ไม่มีใครสนใจ ไปเอาจริงเอาจังกับเรื่องพื้นฐานของโปรเซสเซอร์อย่างการรันโค้ดทั่วไปให้ดีที่สุดมากกว่า แล้วค่อยแปะ FPU (ตัวประมวลผลเลขทศนิยม) ที่พอใช้ได้เข้ามา แค่นี้คนก็แฮปปี้แล้ว และ AVX2 มันก็เพียงพอแล้วเหมือนกัน

            Comment


            • #7
              นึกว่า เป็น ญาติของ Linus Techtip

              Comment


              • #8
                เหมือนศาสดาช่วงหลังไม่ค่อยพอใจอินเทล
                อาจเนื่องจากปัญาหาช่องโหว่ ทีทําให้แก
                ต้องเฆี่ยนหวายให้กับทีมพัฒนาเคอร์เนล
                เพราะ 2 เดือนก่อน แกพึ่งประกาศย้าย
                จาก 9900k มาใช้threadripper
                แกย้ายมา am.d.สําหรับ เครื่องส่วนตัวแกใน
                รอบ 15. ปีทีเดียว.

                อาจจะเพราะรักเลยตีบ้างประวัติส่วนตัวแกเกิด
                มาได้ เป็นศาสดาลีนุกส์ทุกวันนี้เพราะโปรเจค
                ยุนิกส์ ฟอร์ อินเทลอยู่แล้ว
                Last edited by micronz; 14 Jul 2020, 23:16:45.

                Comment


                • #9
                  Originally posted by micronz View Post
                  เหมือนศาสดาช่วงหลังไม่ค่อยพอใจอินเทล
                  อาจเนื่องจากปัญาหาช่องโหว่ ทีทําให้แก
                  ต้องเฆี่ยนหวายให้กับทีมพัฒนาเคอร์เนล
                  เพราะ 2 เดือนก่อน แกพึ่งประกาศย้าย
                  จาก 9900k มาใช้threadripper
                  แกย้ายมา am.d.สําหรับ เครื่องส่วนตัวแกใน
                  รอบ 15. ปีทีเดียว.

                  อาจจะเพราะรักเลยตีบ้างประวัติส่วนตัวแกเกิด
                  มาได้ เป็นศาสดาลีนุกส์ทุกวันนี้เพราะโปรเจค
                  ยุนิกส์ ฟอร์ อินเทลอยู่แล้ว
                  แกคงติเพื่อก่อแหละ อยู่กับอินเทลนานขนาดนั้น คงอยากให้พัฒนามากกว่านี้

                  Comment


                  • #10
                    ผมว่าจริงๆมันน่าจะมากกว่านั้นะ เดี๋ยวค่อยมาต่อครับ
                    พอดีเห็นเพื่อนบ่นลามไปห้อง General hardware ล่ะ
                    ก็เพลาๆล่ะครับ คุยธรรมดาๆ ไม่พาดพิงไคร ไม่วิวาทะ
                    บรรยากาศแบบกระทู้นี้หรืออีกห้องผมชอบ
                    ก็คุยกันไปก่อนตามสบาย

                    อุ่นเครื่องนิดนุง เดี๋ยวมา





                    เลิกวิวาท แต่อาจมีกระทู้ทิ้งทวนนะ
                    Last edited by ssk; 15 Jul 2020, 12:52:50.

                    Comment


                    • #11

                      Comment


                      • #12
                        จริงๆ LINUS เค้าด่าคือ พอไปดู CPU ใหม่ ที่ต้องทำ KERNEL ใว้
                        มันดันไม่รองรับ AVX512 ทั้งหมด บางตัวมี บางตัวไม่มี ในสายตา DEV
                        แกเลยยกนิ้วกลางให้



                        ข่าว UPDATE ก็ยังลักปิดลักเปิด จะใช้ต้อง Enable BIG Core
                        แล้วจะใช้ Library AVX512 ไปทำไม เขียน AVX/AVX2 ก็ดีอยู่แล้ว ตัวใหนว่างลงได้หมด

                        แถม OS-Software สมัยนี้เรื่อง Cross platform นี่สำคัญมากๆ ขีนไปเขียนอิง 512
                        พอ Recomplie ข้ามระบบต้องมาทำใหม่อีก มันวุ่นวาย งาน ML-AI-DL
                        ก็ใช้แค่ FP32 คือมันเป็น pointer vecter ตามรูป AxB+C ก้คือ MATRIX 2 ตัวคูณกัน+counter weight แล้วผลออกมา
                        เลขใหน ชี้ไปที่อะไร ค่อยไปโหลดก้อนข้อมูลส่งไปให้ User งานมีกี่ตัวแปรก็ทำซ้ำๆไปจน all Condition INT เป็น All true
                        ซึ่งมันก็ไม่เกิน INT32 ข้อมูลแค่เนี้ย จะไปยัดลงคำสั่งยาวๆแบบ 512 BITS ทำไม เค้า IMplement มาแล้ว
                        ว่านี่แหละ OK ใช้ได้ตั้งแต่ ARM จิ๋วๆยัน EPYC-128 core เค้าถึงด่าไง มันไม่จำเป็น จะใส่มาทำไม

                        งาน MATRIX+VECTER GPU มันก็เก่งอยู่แล้ว CPU มันผู้จัดการไปทำงาน OS handle+Workload Distribute ไปเหอะ
                        อย่าไปคิดแย่งงานชาวบ้่านเค้าเลย งานตัวเองเอาให้ดีๆเถอะ นั่นล่ะที่ผมคิดว่า LINUS อยากสื่อนะครับ

                        และ LINUX น่ะเป็น OS ที่คนใช้มากที่สุดในโลก ถ้ารวม Android และ DATACENTER ที่ XENON ทั้งหลายต้องทำงานด้วย
                        มันใช้ LINUX ทั้งนั้น ไม่ใช่ WINDOWS ซึ่งคนที่ทำ KERNEL อย่าง LINUS ต้องทำ KERNEL รองรับ CPU ทุก PLATFORM
                        ตั้งแต่ ARM A5x-XENON หรือ EPYC แกคงเห็นว่ามันไม่ดีจริงๆ ถึงออกมายกนิ้วกลางให้รู้ซะมั่งว่าไม่เอาเว้ย
                        Last edited by ssk; 15 Jul 2020, 20:35:27.

                        Comment


                        • #13
                          ให้เห็นภาพชัดขึ้นนะครับ ขอไปยก ของเก่าตอนต้นๆปีที่ผมกลับมานั่งตบตีคนในนี้ นะ

                          อิงจาก SKYLAKE X


                          จะได้ตารางตามนี้

                          คือ 2 FMA 256 + 1 FMA512 = 256+256+512 = 1024 Bits Per Cycle

                          - ซึ่ง ถ้าคำสั่งเป็น AVX2 มันก็ต้อง แยกเข้า PORT 0/1 เข้า Port 5 ไม่ได้ จะเข้า PORT 5 ต้องไปจัดรูปก่อน และถ้า AVX512 จะเข้า PORT 0/1 ก็ต้อง FUSE ซะก่อน
                          ทุก Step ที่เพิ่มมาต้องการ 1 Instruction Cycle มันก็เกิด Latancy สิ
                          - ถ้าเราแตก FMA512 เป็น 2 FMA 256 เราก็สามารถ Execute คำสั่ง AVX256 ได้ 2 คำสั่งเท่าๆกันนั่นแหละ
                          คือ 4 FMA256 = 4x256 =1024 BITS per Cycle

                          - ทีนี้มาเรื่อง REGISTET ไอ้นี่มันแค่ TAG มันไม่ได้วิเศษหรอก สำคัญมันอยู่ที่ FMA long ต่างหาก จาก REGISTER Z ที่ยาวจาก 16 เป็น 32 Step มัน
                          ก็ไม่ได้วิเศษไปกว่ากัน ถ้า FMA มันยาวเท่ากับ 32 STEP ผลลัพท์มันก็เท่ากันตามนี้

                          A คือ 512x32 = 16384 Bits Per cycle
                          ฺฺB คือ (256x32) + (256x32 ) = (8192)+(8192) = 16384 Bits Per cycle
                          C คือ 4x( 256x16) = 4x(4096) = 16384 Bits Per cycle
                          A = B = C อยู่แล้ว อยู่ที่ว่าจะจัดชุดคำสั่ง FMA แบบใหนเท่านั้นเอง
                          เพราะฉนั้น จะใช้ AVX2 หรือ 512 มันก็ไม่ต่างกัน แต่ AVX2 มีคนใช้ได้เยอะกว่าแน่ๆ

                          - และในเมื่อมีแต่ FMA256 ล้วนๆ 4 ชุดทดแทน FMA 2x256+512 เมื่อเราใส่ SMT ลงไป มันก็สมมาตรกันพอดีด้วย
                          VT core ทั้ง 2 ตัวก็สามารถรับงานไดๆก้ได้โดยไม่ต้องมานั่งแยกว่าตัวนี้ลงได้ ตัวนั้นลงไม่ได้ออกไป มันก็ไม่ต้องมีคำสั่งพิเศษที่ไป TAG
                          Thread ใหนพิเศษต้องลงเฉพาะ Core นี้ด้วย มันก็ลดงานของแกไปในตัว และทำให้ DEV อิ่นๆเค้าทำงานง่ายด้วยเหมือนกัน

                          LINUS เลยออกมาพูดแบบนั้น ว่า AVX2 ก็พอแล้ว
                          Last edited by ssk; 16 Jul 2020, 15:54:05.

                          Comment


                          • #14
                            ว่างมาเสริมนิดนึง ทำไมผมถึงพูดว่า AVX อะไรไม่สำคัญเท่า througput นะครับ
                            ทำความเข้าใจง่ายๆ ข้อมูลแต่ละชนิด
                            ต้อง ใช้ CU ให้ถูก
                            Int ต้องใช้ int unit ทำงาน และรับส่งข้อมูล
                            FP ต้องใช้ FP unit ทำงาน และรับส่งข้อมูล

                            เปรียบง่ายๆ
                            - int คือของแข็งต้องส่งทางสายพาน
                            - FP คือของเหลวต้องส่งปั๊มส่งทางท่อ
                            จะส่งข้ามกันไม่ได้ แต่ในระบบ มี bus คือถนน
                            ทั้ง int และ FP มันใส่รถไปครับ
                            รถขนกล่อง กับ รถถังน้ำครับ แล้ว
                            ไปเลี้ยวเข้า โรงงานไครโรงงานมัน

                            FP unit จึงต้องสัมพันกับปริมานงาน
                            จะใช้ปั๊มแรงๆตัวเดียว หรือจะใช้ปั๊มย่อย
                            อยู่ที่การออกแบบระบบ สำคัญคือที่ flowrate ต่างหากครับ
                            AVX2 หรือ 512 ไม่สำคัญเท่า troughtput
                            จัดแบบ A B C อันใหนก็ได้ ผลรวมเท่ากันพอแล้ว แกคิดแบบนี้แกเลยย้ายค่าย

                            TR อาจไม่แรงเท่า xenon ต่อ core แต่ผลรวมของ CU ทุกๆ core มันมากกว่า เทียบกัน tier ต่อ tier มันให้ผลิตผลสูงกว่า
                            นัานล่ะเหตุผล เราเข้ายุค full multithread pararell มาตั้งนานแล้ว ไม่งั้น gen 8-9-10
                            จะเพิ่ม core มาทำไม แถม gen 10 นี่ก็ไม่ใส่มาให้ ถ้ามันสำคัญมันต้องมีมาให้ใช้แล้ว
                            Last edited by ssk; 17 Jul 2020, 17:54:18.

                            Comment


                            • #15
                              เอากันจริงๆ แม้แต่ AVX2 ผมยังไม่เห็นความสำคัญของเลยจริงๆ งานแบบสาย Vector นี้อยากแรงจริงๆ เอาไปลง GPU เหอะ

                              Comment

                              Working...
                              X