• Thứ Hai, 14/04/2014 09:00 (GMT+7)

    Kiến trúc đồ họa Maxwell

    Đông Quân
    Vẫn áp dụng quy trình sản xuất 28nm nhưng hiệu suất tính toán của mỗi nhân đồ họa kiến trúc Maxwell tăng đến 35% đồng thời mức tiêu thụ năng lượng hiệu quả gấp đôi so với thế hệ Kepler.

     

    Khác với trước đây khi công bố một kiến trúc GPU mới, NVIDIA lẫn AMD thường đưa ra mẫu card đồ họa cao cấp có hiệu năng mạnh, tốc độ xử lý khung hình cao (frames per second - fps) như một tiêu chí quan trọng trong việc nhấn mạnh sức mạnh chip đồ họa mới. Các mẫu GPU tầm trung và phổ thông sẽ lần lượt được giới thiệu vào thời gian sau đó. Tuy nhiên với kiến trúc Maxwell, NVIDIA giới thiệu hai mẫu card GeForce GTX 750 và 750 Ti với thiết kế dựa trên nhân đồ họa GM107 nhằm nhấn mạnh việc sử dụng năng lượng hiệu quả của kiến trúc GPU mới.

    Tương tự Kepler, GPU Maxwell cũng trang bị kiến trúc tính toán song song CUDA (Compute Unified Device Architecture), trong đó mẫu GeForce GTX 750 có 512 nhân (CUDA core) và GTX 750 Ti có 640 nhân. Cả hai mẫu card đồ họa trên vẫn áp dụng công nghệ sản xuất 28 nm nhưng có hiệu năng cao hơn đồng thời tiêu thụ điện thấp hơn so với thế hệ trước đó.

    NVIDIA cho biết mẫu card sử dụng nhân đồ họa GM107 hướng tới phân khúc phổ thông, phù hợp với những cấu hình tiêu thụ điện năng thấp như laptop đồ họa rời, máy tính giải trí đa phương tiện hoặc máy tính chơi game cỡ nhỏ (small factor gaming pc). Bên cạnh đó, Maxwell còn kiến trúc nền tảng cho việc phát triển các chip đồ họa Tesla mới, vốn đang được sử dụng trong hệ thống máy chủ, các siêu máy tính có khả năng xử lý tính toán phức tạp trong nghiên cứu khoa học.

    Cấu trúc Streaming Multiprocessor mới
     NVIDIA đưa ra một thiết kế mới cho Streaming Multiprocessor Maxwell (SMM) nhằm giảm thiểu mức tiêu thụ năng lượng và kết quả là hiệu suất tính toán trên mỗi watt điện năng tiêu thụ (GFLOP/w) cao hơn gấp đôi so với Streaming Multiprocessor Kepler (SMX) dù cùng sử dụng quy trình sản xuất 28 nm.

    Các kỹ sư của hãng phát hiện trong SMX, nhiều nhân CUDA vẫn tiêu thụ năng lượng dù ở trạng thái nhàn rỗi và mạch điều khiển logic không thể tắt chúng. Với kiến trúc Mawell, các nhà thiết kế đã chia Streaming Multiprocessor thành nhiều khối xử lý nhỏ hơn và có mạch điều khiển riêng. Điều này nhằm kiểm soát tốt hơn việc sử dụng năng lượng của các thành phần đang ở trạng thái nhàn rỗi đồng thời vẫn đảm bảo tính sẵn sàng của chúng.

    Cụ thể nhân đồ họa GM107 có đến 5 SMM và kích cỡ GPU chỉ tăng khoảng 25% trong khi GK107 chỉ có 2 SMX. Bên cạnh đó, SMM còn được bổ sung mạch điều khiển phân mảnh (control logic partitioning), khả năng chia tải (workload balancing), sắp xếp lệnh (instruction scheduling), số lệnh trong một chu kỳ xung (number of instructions issued per clock cycle) cùng nhiều tính năng cải tiến khác giúp hiệu suất tính toán của mỗi SMM tăng đến 35% so với SMX của Kepler.

    Cải thiện hàng chờ lệnh
    Khác với SMX của Kepler, SMM kiến trúc Maxwell chỉ có 128 nhân CUDA và được chia thành 4 khối, mỗi khối nhỏ này quản lý 32 nhân CUDA và có mạch điều khiển riêng. Điều này đồng nghĩa với GPU Maxwell có khả năng quản lý tổng số nhân CUDA nhiều hơn đáng kể so với Kepler và Fermi.

    Ngoài ra, số lệnh trong một chu kỳ xử lý của mỗi SM của Maxwell vẫn tương đương với Kepler nhưng độ trễ thấp hơn. Mỗi SMM cũng có 4 nhóm xử lý theo hàng dọc (warp scheduler) có khả năng thực thi tiểu trình song song trong cùng chu kỳ, chẳng hạn nhân CUDA có thể vừa thực hiện phép toán logic đồng thời thực hiện bước lệnh đọc/ghi dữ liệu vào các ô nhớ. Tất nhiên những bước lệnh này đã được tối ưu hóa cho tất cả nhân CUDA.

    Ghi chú: Thuật ngữ “warp” để chỉ một nhóm 32 thread (luồng dữ liệu) và con số này cũng là kích thước tối thiểu để một SM xử lí song song theo kiểu SIMT (single instruction multiple-thread). Để tạo thuận lợi cho lập trình viên, thay vì tương tác trực tiếp với các warp, CUDA đưa ra khái niệm block, mỗi block chứa từ 64 đến 512 thread. Mỗi SM có tối đa 8 blocks và tùy vào kích thước mỗi block sao cho tổng số thread phải nhỏ hơn con số 768.

    Mở rộng sự chiếm chỗ của lệnh hiện hành
    SM của Maxwell (hiện tại là GM107 và GM108) hỗ trợ compute capability 5.0 (CC 5.0) với những nâng cấp quan trọng hướng tới cải thiện khả năng tính toán của nhân CUDA mà không cần phải gia tăng các đơn vị shader chạy song song trong mỗi SMM.

    Kích cỡ thanh ghi (register) và tổng số warp tối đa của mỗi SM của Maxwell tương đương với SM của Kepler, gồm 64k 32-bit register và 64 warp cũng như số lượng register tối đa trên mỗi luồng (thread) là 255. Tuy nhiên, mỗi SP (streaming processor core hay scalar processor - đơn vị xử lí nhỏ nhất trong GPU) Maxwell có thể xử lý cùng lúc 32 luồng, gấp đôi so với Kepler. Kết quả của sự thay đổi này cho phép thực thi cùng lúc nhiều luồng hơn bằng một lệnh đơn và ít bị ảnh hưởng bởi tài nguyên phần cứng. Bên cạnh đó, việc giảm độ trễ xử lý số học (arithmetic instruction latency) là một trong những thay đổi lớn của SMM. Tham khảo chi tiết trong bảng so sánh thông số kỹ thuật Maxwell GM107 và Kepler GK107 bên dưới.

    Ghi chú: Thuật ngữ shader dùng để chỉ tập hợp các lệnh trong GPU để tính toán các hiệu ứng đổ bóng với độ chính xác cao. Vì vậy để thực hiện các tác vụ đổ bóng đồ họa, GPU thường có đơn vị xử lí shader chạy song song.

    Bộ nhớ lớn hơn
    Một trong những cải tiến quan trọng khác là kích thước bộ nhớ chia sẻ (shared memory) trên mỗi SMM được mở rộng đạt mức 64KB trong khi với Kepler và Fermi chỉ có 64KB bộ nhớ dùng chung giữa bộ đệm cấp 1 (L1 cache) và bộ nhớ chia sẻ. Ngoài ra, để dễ dàng quản lý và phân chia dữ liệu, các thread được gộp thành từng nhóm gọi là thread block và giới hạn số lượng tối đa thread trong mỗi block ở mức 48KB.

    Không chỉ vậy, bộ nhớ CPU (host memory) và GPU (device memory) của đồ họa Maxwell còn có thể tham chiếu lẫn nhau, cụ thể bộ nhớ GPU có thể đọc dữ liệu từ bộ nhớ CPU và ngược lại. Điều này sẽ giúp các lập trình viên dễ dàng thiết kế phần mềm hơn. Hiện tại bộ nhớ GPU và CPU được phát triển dựa trên những công nghệ khác nhau và chúng hoạt động độc lập. Về lý thuyết, có thể kết nối giữa hai bộ nhớ này dựa vào công nghệ ảo hóa. Nhờ vậy mà khối lượng công việc được phân bố và xử lý cùng lúc sẽ chính xác và hiệu quả hơn.

     



    Cải tiến kiến trúc song song động
    Từ GPU Kepler GK110, NVIDIA đã giới thiệu một kiến trúc mới với tên gọi Dynamic Parallelism (tạm dịch kiến trúc song song động) nhằm giải quyết các bài toán phức tạp. Cơ chế mà mỗi SM thực hiện là SIMT (single instruction multiple-threads), tương tự với cơ chế SIMD (single-instruction, multiple data) của CPU nhưng phức tạp hơn. Mỗi GPU có khả năng chạy hàng ngàn thread cùng lúc, phù hợp với những ứng dụng hỗ trợ tính toán song song hơn so với vài chục thread của CPU.

    Bộ thư viện mở rộng CUDA 5.0 của đồ họa Maxwell được bổ sung nhiều lệnh phức tạp để thực hiện một chuỗi các chương trình con (kernel function) trên cùng GPU. Việc tích hợp này sẽ có lợi cho nhà phát triển vì các ứng dụng sẽ không còn cần tới các thuật toán thực thi đặc biệt vốn chỉ dành cho GPU dòng cao cấp (high-end GPU).

    Ghi chú: trong GPU, quá trình xử lý stream processing gồm 3 giai đoạn chính là gather, operate và scatter. Nghĩa là các pixel hình ảnh (liên tục hoặc rời rạc ở vị trí bất kỳ) sẽ được tập hợp lại (gather) thành một dòng (stream hay input data). Sau đó các chuỗi chương trình con (kernel function) sẽ tác động tuần tự (operate) lên mỗi thành phần (data element) trong stream. Thông thường mỗi kernel đảm nhận một tác vụ và xử lí toàn bộ các thành phần trong stream (uniform streaming) và đầu ra của kernel function này sẽ là đầu vào của kernel function kế tiếp (hoạt động theo cơ chế pipeline) để giảm thiểu việc đọc/ghi dữ liệu trở lại bộ nhớ. Cuối cùng, dữ liệu đã xử lí sẽ được phân bố (scatter) trở lại bộ nhớ.

    Lời kết
    Thiết kế GeForce GTX 750 và 750 Ti dựa trên nhân đồ họa GM107 Maxwell không chỉ nhấn mạnh việc sử dụng năng lượng hiệu quả của kiến trúc GPU mới mà còn mang lại khả năng xử lý đồ họa tốt hơn so với đồ họa GK107 kiến trúc Kepler.

    Kết quả thử nghiệm thực tế cho thấy các mẫu card đồ họa GeForce GTX 750 và 750 Ti đều có thể chinh phục các phép thử đồ họa theo kịch bản Test Lab xây dựng với những điểm số ấn tượng đồng thời cao hơn GeForce GTX 650 từ 9 – 13% tùy phép thử. Khả năng xử lý hình ảnh trong game cũng vượt “mốc chuẩn” 30 fps (khung hình/giây) ở độ phân giải full HD với chất lượng đồ họa được đẩy lên mức cao nhất, chẳng hạn với game Alien vs. Predator, Zotac GTX 750 đạt 34,1 fps và Gigabyte GV-N75TOC-2GI là 37,2 fps. Tương tự khi đẩy chất lượng đồ họa của Resident Evil 6 lên mức cao nhất, các mẫu card thử nghiệm vẫn chứng tỏ được sức mạnh qua số khung hình xử  lý được và không xảy ra hiện tượng giật hình (lag) trong suốt quá trình thử nghiệm. Tham khảo chi tiết tại www.pcworld.com.vn/T1234566.

    GeForce GTX 750 và GTX 750Ti hiện có giá khoảng từ 2,9 đến dưới 4 triệu đồng (tùy thương hiệu). Xét tỷ lệ p/p (hiệu năng/giá thành) những mẫu card đồ họa trên là một trong những lựa chọn hấp dẫn nhất hiện nay trong phân khúc phổ thông, phù hợp với cấu hình máy tính giải trí đa phương tiện hoặc máy tính chơi game cỡ nhỏ (small factor gaming pc) đồng thời vẫn có mức tiêu thụ điện năng thấp.

     

    PC World VN, 04/2014

    ID: A1404_57