Announcement

Collapse
No announcement yet.

AMD Financial Analyst Day 2020

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

  • AMD Financial Analyst Day 2020



    ชมภาพนิ่ง พรีเซนเทชั่นได้ที่

    https://www.techpowerup.com/264529/a...2020-live-blog







  • #2
    Infinity Architecture แทน crossfire ?

    Comment


    • #3
      Originally posted by O_ho View Post
      Infinity Architecture แทน crossfire ?
      อารมณ์นั้นครับ แต่ Infinity ตัว SW น่าจะมองการ์ดเป็นตัวเดียวเลย ซึ่งน่าจะดีกว่า CF โขครับ

      Comment


      • #4
        Originally posted by HaloGenZ View Post
        อารมณ์นั้นครับ แต่ Infinity ตัว SW น่าจะมองการ์ดเป็นตัวเดียวเลย ซึ่งน่าจะดีกว่า CF โขครับ
        Software ไม่ได้มองเห็นเป็นการ์ดเดียวครับ มองเป็นหลายการ์ด แต่จะ coherent กับ RAM ระบบ ทำให้เวลาเขียนโปรแกรมไม่ต้องคอยสั่งเคลื่อนย้ายข้อมูลไปมาระหว่าง RAM กับ VRAM

        ตามที่ผมเข้าใจ วิธีเดิมๆที่ไม่ coherent มันเป็นแบบนี้ครับ, สมมุติว่ามีตัวแปรชื่อว่า SUM128 มีค่าเท่ากับ 0.0 และมีตัวแปร SCORE_ARRAY เป็นอะเรย์ที่บันทึกค่าคะแนน 128 รายการ และเราต้องการคำนวนหาค่าคะแนนรวมโดยใช้ GPU คำนวณ จะทำได้ดังนี้:
        1. เริ่มต้น เมื่อโหลดข้อมูลตัวแปร SCORE_ARRAY และ SUM128 ขึ้นมา มันจะไปอยู่ใน RAM ระบบ
        2. คัดลอกข้อมูลตัวแปร SCORE_ARRAY และ SUM128 ไว้ใน VRAM ของ GPU
        3. สั่งให้ GPU คำนวนหาผลรวมคะแนน แล้วนำค่าผลลัพท์ไปแทนที่ค่าในตัวแปร SUM128 ที่อยู่ใน VRAM (สมมุติให้ผลลัพท์คือ 9876 จะได้ GPU.SUM128 = 9876)
        4. คัดลอกผลลัพท์ใน VRAM มาใส่ใน RAM ระบบ (ต่อจากข้อที่แล้ว ก็จะได้ SUM128 = GPU.SUM128)

        ส่วนวิธีแบบ coherent ตามความเข้าใจผม มันจะเป็นแบบนี้:
        1. เริ่มต้น... (เหมือนๆกัน)
        2. สั่งให้ GPU คำนวนหาผลรวมคะแนนโดยอ้างอิง (ไม่ใช่คัดลอก) ไปยังตัวแปร SCORE_ARRAY และ SUM128 แล้วนำค่าผลลัพท์ไปแทนที่ค่าในตัวแปร SUM128 ที่อยู่ใน VRAM
        3. นั่นจะทำให้ SUM128 ใน VRAM ถูกแก้ไข และข้อมูล SUM128 ใน RAM ระบบจะถูกติดป้ายว่า "ไม่ถูกต้อง" (Invalidate) ไม่สามารถใช้ได้อีกและจะถูกกำจัดในภายหลัง

        ขั้นตอนที่ผมทำสีน้ำเงินไว้ คือสิ่งที่โปรแกรมเมอร์ต้องเขียนโค้ดเอง

        Comment


        • #5
          Originally posted by นกแสก View Post
          Software ไม่ได้มองเห็นเป็นการ์ดเดียวครับ มองเป็นหลายการ์ด แต่จะ coherent กับ RAM ระบบ ทำให้เวลาเขียนโปรแกรมไม่ต้องคอยสั่งเคลื่อนย้ายข้อมูลไปมาระหว่าง RAM กับ VRAM

          ตามที่ผมเข้าใจ วิธีเดิมๆที่ไม่ coherent มันเป็นแบบนี้ครับ, สมมุติว่ามีตัวแปรชื่อว่า SUM128 มีค่าเท่ากับ 0.0 และมีตัวแปร SCORE_ARRAY เป็นอะเรย์ที่บันทึกค่าคะแนน 128 รายการ และเราต้องการคำนวนหาค่าคะแนนรวมโดยใช้ GPU คำนวณ จะทำได้ดังนี้:
          1. เริ่มต้น เมื่อโหลดข้อมูลตัวแปร SCORE_ARRAY และ SUM128 ขึ้นมา มันจะไปอยู่ใน RAM ระบบ
          2. คัดลอกข้อมูลตัวแปร SCORE_ARRAY และ SUM128 ไว้ใน VRAM ของ GPU
          3. สั่งให้ GPU คำนวนหาผลรวมคะแนน แล้วนำค่าผลลัพท์ไปแทนที่ค่าในตัวแปร SUM128 ที่อยู่ใน VRAM (สมมุติให้ผลลัพท์คือ 9876 จะได้ GPU.SUM128 = 9876)
          4. คัดลอกผลลัพท์ใน VRAM มาใส่ใน RAM ระบบ (ต่อจากข้อที่แล้ว ก็จะได้ SUM128 = GPU.SUM128)

          ส่วนวิธีแบบ coherent ตามความเข้าใจผม มันจะเป็นแบบนี้:
          1. เริ่มต้น... (เหมือนๆกัน)
          2. สั่งให้ GPU คำนวนหาผลรวมคะแนนโดยอ้างอิง (ไม่ใช่คัดลอก) ไปยังตัวแปร SCORE_ARRAY และ SUM128 แล้วนำค่าผลลัพท์ไปแทนที่ค่าในตัวแปร SUM128 ที่อยู่ใน VRAM
          3. นั่นจะทำให้ SUM128 ใน VRAM ถูกแก้ไข และข้อมูล SUM128 ใน RAM ระบบจะถูกติดป้ายว่า "ไม่ถูกต้อง" (Invalidate) ไม่สามารถใช้ได้อีกและจะถูกกำจัดในภายหลัง

          ขั้นตอนที่ผมทำสีน้ำเงินไว้ คือสิ่งที่โปรแกรมเมอร์ต้องเขียนโค้ดเอง
          อ้อขอบคุณข้อมูลครับผม เขียนยาวเลย 555

          Comment

          Working...
          X