SC08 và GPU

 

Đối với dân trong ngành tính toán hiệu năng cao (HPC – High Performance Computing), hội nghị SC (supercomputing conference) hàng năm là nơi để gặp gỡ, trao đổi về các tiến bộ mới trong lĩnh vực máy “ngốn số liệu”. Hội nghị SC năm nay được tổ chức tại Austin, Texas là hội nghị lần thứ 20 của ngành, tính từ hội nghị đầu tiên được tổ chức tại Orlando, Florida năm 1988. Trong lần thứ 20 này, SC08 đã chứng kiến sự chuyển hướng đáng kể trong ngành HPC, từ mô hình siêu máy tính truyền thống tốn kém sang các mô hình kinh tế hơn, đặc biệt là mô hình lập trình song song trên GPU. Dưới đây tôi tóm tắt lại những sự kiện chính trong hội nghị lần này có liên quan đến GPU, mặc dù còn vô số thứ khác để học hỏi từ SC08.

  • SC08 đánh dấu sự ra đời của siêu máy tính đầu tiên trên thế giới sử dụng GPU làm công cụ tính toán hữu hiệu và kinh tế. Tôi rất lấy làm tự hào vì chiếc siêu máy tính đó đến từ Tokodai (TiTech, Tokyo Institute of Technology), nơi tôi đã có cơ hội học tập và nghiên cứu trong nhiều năm liền kể từ ngày đầu tiên bước chân lên đất Phù Tang. Với tên gọi Tsubame, hệ thống này được đặt trên tầng 2 của trung tâm tính toán và thông tin khoa học toàn cầu, nằm cạnh thư viện trung tâm ở campus O-Okayama. Bằng cách lắp đặt thêm 170 khối Tesla dạng 1U, với mỗi khối gồm 4 card Tesla, tổng cộng hệ thống có thêm 170 x 4 = 680 Tesla GPU. Sự bổ sung kịp thời này đã cho phép Tsubame vượt lên vào vị trí 29 trong bảng tổng sắp LINPACK Benmark kỳ này, với khả năng tính toán có độ chính xác kép trên số thực là 77.48 TFLOP. Với một kinh phí khiêm tốn, ít hơn rất rất nhiều lần so với hệ thống ban đầu, và với thời gian lắp đặt kỷ lục (khoảng 1 tuần lễ) nhờ sự kết hợp tuyệt vời của các kỹ sư tài năng đến từ Sun Microsystem, NEC, và NVIDIA, Tsubame với Tesla chứng tỏ khả năng sử dụng GPU trong các hệ thống HPC là hoàn toàn hiện thực. Tokodai sẽ chào đón sự kiện này bằng một ngày đặc biệt, đúng vào thứ ba tuần sau 02/12 tại O-Okayama Campus. Bạn nào ở Nhật và có thời gian vui lòng đến dự cho vui.
  • SC08 chứng kiến sự hợp tác toàn diện giữa NVIDIA và NEC. Chắc chắn trong thời gian sắp tới, chúng ta sẽ được thưởng thức nhiều sản phẩm ngoạn mục dựa trên CUDA mà NEC mang lại cho người dùng mức cao.
  • Phần mềm huyền thoại Mathematica với phiên bản 7.0 chính thức hỗ trợ tự động tính toán song song trên các hệ thống đa lõi, và phiên bản “CUDA-enabled” sẽ được phát hành vào tháng Giêng năm 2009. Chúng ta cùng xem Wolfram Research nói gì về CUDA:

“Since its initial release, Mathematica has been adopted by over 3 million professionals across the entire global technical computing community, and it has had a profound effect on how computers are used across many fields,” said Joy Costa, director of global partnerships at Wolfram Research. “The prospect of a hundred fold increase in Mathematica 7 performance is staggering. CUDA enabled Mathematica will revolutionize the world of numerical computation.

  • Không những chỉ có các dàn máy khổng lồ, SC08 là nơi ra đời của một khái niệm mới, “Personal Supercomputer (PSC)”. Nếu trong thập niên 80, những chiếc máy PC của IBM đã tạo nên một cuộc cách mạng máy tính với công thức “Một người dùng – một PC”, thì hôm nay, với Tesla/Quadro GPU của NVIDIA, chúng ta có “Một nhà nghiên cứu, một PSC”. Cấu hình thông dụng của các PSC mà tôi có dịp tham gia lắp đặt gần đây bao gồm 1 card Quadro FX5800 phục vụ hiển thị đồ họa cùng 3 card Tesla C1060 phục vụ tính toán. Sự kết hợp này mang lại cho chúng ta khoảng 4 TFLOP khả năng tính toán trên số thực với độ chính xác đơn, cùng với hệ thống bộ nhớ 16GB DDR2, với giá thành khoảng 10,000 USD, rẻ hơn 100 lần so với một hệ máy có cùng khả năng tính toán sử dụng giải pháp CPU cluster, chưa kể đến không gian nhỏ gọn của chỉ một thùng máy lớn, thay vì cả một gian phòng, và chi phí điện năng hết sức tiết kiệm.

Cuộc chiến xử lý song song đã bắt đầu!!!

Cái nóng của mùa hè năm nay dường như đã làm nóng thêm bầu không khí chiến tranh giữa các đại gia trong ngành công nghiệp máy tính. Đó là cuộc chiến giành quyền kiểm soát thị phần xử lý song song trong một tương lai “hết sức gần” (độ một hai năm nữa) trên các kiến trúc đa lõi và chip đồ họa máy tính, giữa ba đại gia Intel, NVIDIA, AMD, và gần đây có cả Apple tham gia với tuyên bố về sản phẩm hết sức đình đám là OpenCL. Chúng ta hãy cùng nhau điểm lại các sự kiện đáng chú ý trong cuộc chiến này suốt hai năm gần đây.

Có lẽ cuộc chiến đa lõi này đã được bắt đầu vào ngày 8 tháng 11 năm 2006, khi NVIDIA, sau gần 4 năm trời nghiên cứu với khoảng 400 triệu đô la đầu tư, đã công bố một thế hệ chip đồ họa đa lõi hoàn toàn mới, với tên gọi GeForce 8800, mở đầu cho loạt chip GeForce 8, hay còn gọi tắt là G80, hoặc chính xác hơn là Tesla thế hệ 1 (tên này mới chỉ được đưa ra sau này). Ngoài khả năng vượt trội về mặt đồ họa, tiềm ẩn bên trong kiến trúc chip G80 là khả năng xử lý song song mức cao có thể lập trình được qua môi trường lập trình CUDA, được NVIDIA chính thức công bố bản beta vào ngày 16 tháng 2 năm 2007 (chính là ngày sinh nhật CEO của NVIDIA, Jen-Hsun Hoang, và cũng là ngày thành lập công ty NVIDIA).

Chỉ sau khi NVIDIA công bố chip G80 có sáu ngày, AMD đã tuyên bố về dự án AMD Stream Processor vào ngày 14 tháng 11 năm 2006. Cùng với dự án về phần cứng này, hàng loạt xúc tiến về mặt phần mềm cũng đã được AMD tiến hành cho đến nay, bao gồm cả đặc tả CTM (Close To the Metal), vốn đã bị “cho ra rìa” từ lâu và bộ phát triển phần mềm Stream SDK.

Tiếp tục mở rộng thị trường tính toán hiệu năng cao ở mức doanh nghiệp, ngày 20 tháng 6 năm 2007, NVIDIA đã chính thức giới thiệu dòng máy Tesla cho tính toán song song cùng với bộ công cụ lập trình CUDA, với phiên bản 1.0 chính thức được trình làng ngày 12 tháng 7 năm 2007, rồi phiên bản 1.1 nối tiếp vào ngày 14 tháng 11 cùng năm. Có thể nói những bước đi kế tiếp nhau này của NVIDIA đã tạo nên một sự khởi động đầy màu sắc cho mảng tính toán song song trên GPU, cả ở phía công nghiệp lẫn giới nghiên cứu khoa học tại các phòng lab ở nhiều trường đại học, viện nghiên cứu, và cả trong các công ty trong nhiều ngành công nghiệp khác nhau như dầu khí, tài chính, truyền thông đa phương tiện, y khoa, v.v… Mọi người có thể tham khảo thêm những gì thế giới đang tạo ra với CUDA ở đây.

Không chịu ngồi yên khi nhìn thấy tiềm năng to lớn của thị trường điện toán trực quan (visual computing), ngay từ khoảng gần cuối năm 2006, trong giới thạo tin công nghiệp đã râm ran về chuyện Intel tuyển thêm rất nhiều người cho một dự án chip đồ họa mới. Đến ngày 17 tháng 3 năm 2008, Intel đã chính thức trả lời mọi người qua thông cáo báo chí về kế hoạch chip đa lõi tương lai của công ty, trong đó phần đề cập về kiến trúc Larrabee nhấn mạnh rằng nó sẽ phục vụ cho môi trường điện toán trực quan.

Trong khi lời tuyên bố này của Intel vẫn đang còn làm tốn không biết bao nhiêu thời gian, công sức, và giấy mực của các phương tiện truyền thông, rồi của các web site chuyên về phần cứng đồ họa, thì ngày 2 tháng 6 năm 2008, NVIDIA đã làm cả thế giới ngạc nhiên với một công bố mới, được dự đoán là có khả năng làm thay đổi hẳn bộ mặt của ngành công nghiệp điện toán trong một ngày không xa. Tên của “quả bom tấn” đó là Tegra. Từ trước đến nay, ngoài kiến trúc x86 của Intel, chúng ta đã có dịp chứng kiến các kiến trúc phi x86 như PowerPC của Apple, Sparc của Sun Microsystem, … tung hoành trên chiến trường điện toán hiệu năng cao. Nhưng đã bao giờ bạn tưởng tượng ra được là, chúng ta sẽ không cần có mainboard để gắn tùm lum thứ lên đó, rồi tốn công sức và tiền bạc để giải nhiệt cho những thứ được gắn lên, và lại còn phải tốn một cái thùng bự để chứa nó không? Với Tegra của NVIDIA, điều đó đang trở thành hiện thực. Tegra không phải là chip đồ họa (GPU), cũng không phải là CPU thu nhỏ, mà là cả một hệ thống được đặt vào một con chip có kích cỡ 12mm x 12mm (144mm vuông), xài điện tối đa 4W. Chính xác nó là một SoC (System on a Chip).

Mọi người vẫn chưa hết bối rối với Tegra thì ngày 16 tháng 6 năm 2008, Apple đã đề đạt lên Hiệp hội Công nghiệp về Giao diện Lập trình Ứng dụng Media (tên gọi là Khronos), đặc tả ngôn ngữ lập trình song song kiểu C, gọi là OpenCL, vốn dự kiến sẽ được dùng trong hệ điều hành Mac OS kế tiếp của Apple. Tôi cũng đã tìm thấy một bài viết khác khá hay về tương lai của OpenCL ở đây. Cái vụ OpenCL này chắc sẽ còn chuyện để nói dài dài. Dạo này đi đâu thấy ai cũng hỏi về nó, mệt quá!

Nhằm đẩy nhanh tốc độ mở rộng thị trường xử lý song song cao cấp, ngày 17 tháng 6 năm 2008, NVIDIA đã chính thức giới thiệu dòng sản phẩm Tesla thế hệ 2, là sản phẩm tính toán song song trên chip đồ họa đầu tiên có khả năng tính toán cỡ Tera flop (siêu máy tính).

Không chịu thua kém, trong tháng Tám mùa hè nóng nực này, Intel đã đi tiếp những bước đi quan trọng trong cuộc đấu đa lõi của mình, bằng cách chính thức công bố chi tiết kỹ thuật của giải pháp Larrabee qua báo chí ngày 4 tháng 8 năm 2008, và sau đó tám ngày tại Hội nghị Đồ họa Máy tính thường niên 2008 (SIGGRAPH’08) với một bài viết chi tiết về mặt thiết kế ở đây. Ngoài ra, tại Diễn đàn các nhà phát triển Intel IDF’08, Intel cũng đã tung ra một cú đánh nỗ lực sau cùng của mùa hè này về phía CUDA bằng cách thông báo là sẽ nhanh chóng cho ra đời bộ công cụ hỗ trợ lập trình song song được tích hợp vào Microsoft Visual Studio, gọi là Intel Parallel Studio.

Mọi chuyện vẫn còn tiếp diễn. Ngày hôm nay (ngày 25 tháng 8 năm 2008) tại San Jose, NVIDIA đã mở màn lần đầu tiên trong lịch sử một hội nghị lớn về điện toán trực quan gọi là NVISION’08. Điểm đặc biệt của hội nghị này là nó bao gồm rất nhiều màn trình diễn đặc sắc về công nghệ trực quan, và có cả một hội nghị kỹ thuật chỉ tập trung bàn về CUDA. Chắc chắn là tôi sẽ nhanh chóng có bài tóm tắt nội dung của SIGGRAPH’08, IDF’08, và NVISION’08 có liên quan đến xử lý song song để học hỏi.