Hàng khuyến mãi Hang khuyen mai hang thanh ly hàng thanh lý

Từ khóa hot: Thời trang Đồng hồ Thẩm mỹ Xây dựng Chăm sóc sức khỏe   |  
Tìm nâng cao
In Chủ đề trước Tiếp theo

CUDA là gì? Vài nét về công nghệ CUDA từ NVIDIA​ [Copy địa chỉ]

Thời gian đăng: 20/3/2019 11:25:07

CUDA là gì?        

CUDA là từ viết tắt trong tiếng Anh của thuật ngữ Compute Unified Device Architecture, tạm dịch là kiến trúc thiết bị hợp nhất cho tính toán. CUDA bắt đầu cuộc sống của mình từ tháng Bảy năm 2007 với vai trò ban đầu là một bộ công cụ phát triển phần mềm dựa trên ngôn ngữ lập trình C, và giờ đây ở năm 2010, sau hơn hai năm rưỡi phát triển, CUDA đang tiến hóa thành kiến trúc điện toán GPU, hay còn gọi là GPGPU, của NVIDIA. CUDA có mặt trên hầu hết các GPU đời mới của NVIDIA, từ dòng GeForce giành cho giải trí, đến Quadro giành cho điện toán hình ảnh chuyên nghiệp, và mới nhất là dòng Tesla cho tính toán hiệu năng cao,

Trình điều khiển thiết bị CUDA này giữ nhiệm vụ chuyển đổi mã PTX (viết tắt của thuật ngữ Parallel Thread Execution, tạm dịch là mã thực thi tiểu trình song song) được sinh ra bởi các trình biên dịch của từng ngôn ngữ lập trình – ví dụ như C/C++, Fortran, Java, Python, v.v… – sang dạng mã máy thật sự của GPU được dùng để thực thi ứng dụng. Nhờ cách tiếp cận thống nhất này cho mọi ngôn ngữ lập trình mà các nhà phát triển phần mềm chỉ cần sử dụng ngôn ngữ lập trình quen thuộc với mình để tạo ra các ứng dụng mới chạy được trên GPU. Lớp thứ hai kể từ dưới lên trong hình 2 cho chúng ta thấy một số ngôn ngữ lập trình như C/C++, Fortran, Java, Python, … và giao diện lập trình như OpenCL, Direct Compute, .NET, … mà hiện tại lập trình viên có thể dùng để tạo ra một làn sóng mới những phần mềm tuyệt vời.            
Để có cái nhìn chi tiết hơn, tập trung hơn về điện toán GPU từ góc nhìn môi trường phát triển ứng dụng phần mềm, chúng ta hãy quan sát hình (3). Một lần nữa, ở lớp thấp nhất chúng ta sẽ có kiến trúc CUDA. Ngay phía trên nó là môi trường phát triển phần mềm nhất thiết phải có, bao gồm ngôn ngữ lập trình, giao diện ứng dụng lập trình thiết bị, trình biên dịch, bộ gỡ rối, bộ đo đạc hiệu năng, v.v… Với môi trường cơ bản này, từ quan điểm của một nhà phát triển phần mềm thông thường, vẫn còn rất nhiều khó khăn trong việc nhanh chóng tạo ra những ứng dụng hữu ích, và do vậy trên lớp này chúng ta có ngay lớp các thư viện nền tảng, với các đoạn mã chương trình cơ bản, hữu dụng, phổ biến, và có thể dùng lại ngay trong phần mềm của riêng nhà phát triển. Dựa trên lớp thư viện này, NVIDIA và nhiều đối tác của mình đã và đang tiếp tục cung cấp cho cộng đồng phát triển phần mềm vô số middleware, module, và plug-in, ví dụ như các engine tăng tốc ứng dụng hết sức lý thú gọi là AXE cho môi trường điện toán hình ảnh chuyên nghiệp.

Để bạn đọc có được bức tranh toàn thể về sức mạnh của nó trong việc tạo ra các ứng dụng trên cả tuyệt vời cho ngành công nghiệp giải trí trên máy tính. Chúng ta sẽ tìm hiểu thêm một chút về kiến trúc môi trường phát triển phần mềm này trong phần dưới đây.            

>>> Xem thêm: CSE-813MTQ-600CB


A – CUDA VỚI NGHÀNH CÔNG NGHIỆP GIẢI TRÍ TRÊN MÁY TÍNH            
1. CUDA cho ngành công nghiệp game   
Một trong những ví dụ hay nhất về sự thành công của công nghệ CUDA trong ngành công nghiệp giải trí là với lĩnh vực trò chơi. Hình 4 cho chúng ta thấy một cảnh trong game PC được đánh giá cao nhất kể từ năm 2007 đến nay có tựa là ‘Batman: Arkham Asylum’. Trò này có điểm metascore là 92 và điểm người dùng là 9.4. Trong cảnh ở hình (4), game thủ có thể tận hưởng nhiều kiểu hiệu ứng hình ảnh, chẳng hạn như các màn khói phản ứng lại Batman, các bức tường bị nổ tung, kính vỡ, rồi các bức màn rách tơi tả tương tác với các nhân vật trong game.   

Tất cả những thứ tuyệt vời này có được là nhờ bộ công cụ PhysX SDK và khung làm việc có khả năng mở rộng động trên nhiều nền tảng có liên quan với nó gọi là APEX, cả hai đều do NVIDIA cung cấp.Đây là những công cụ đầy sức mạnh trong bộ các engine AXE, mà chúng ta đã nói đến ở trên, giành riêng cho vật lý trong game, hay nói cách khác, được thiết kế để xử lý các di chuyển phát sinh động (sinh ra không được tính trước tùy theo cách đi của người chơi) và tương tác của các đối tượng trong từng cảnh game một. Vật lý trong game khiến cho tính năng đồ họa của một trò chơi trở nên sống động, và chẳng bao lâu nữa chuyện hiển thị cảnh như phim với thời gian thực trong game sẽ trở thành hiện thực với sự hỗ trợ của PhysX và APEX.   
Mặt khác, khi các yếu tố vật lý được thêm vào trong kịch bản vận hành game với sự hiện diện của hệ thống con PhysX vốn đã được tối ưu hóa dựa trên CUDA ở bên trái của qui trình tạo game thông thường, hệ thống này sẽ liên lạc với phần lõi của game engine nhằm cung cấp một tương tác hai chiều – các yếu tố vật lý sẽ có tác động đến vị trí của các đối tượng trong game, và cũng cập nhật luôn tất cả các yếu tố động của cảnh game hiện tại. Hệ thống này lấy thông tin về tính chất vật lý của các đối tượng trong cảnh từ cơ sở dữ liệu game cốt lõi, và thậm chí có thể làm việc trực tiếp với module Render Engine trong một vài hiệu ứng, tùy thuộc vào sự tương tác với game engine. Hơn thế nữa, hệ thống A/I cũng dùng được hệ thống con vật lý này cho việc phát tia và thực hiện các dự đoán có tính động.

Vậy thì những kiểu hiệu ứng nào PhysX có thể mang lại cho thế giới? Câu trả lời là khá nhiều thứ, như được tóm tắt trong hình (6). Trong hình này, cột đầu tiên bên trái với tựa đề ‘Game World Entities’ (các thực thể trong thế giới game) cho chúng ta thấy một danh sách khả dĩ các thực thể đã được sắp xếp theo thang mức độ chuyển động trực quan (có nghĩa là mức độ chi tiết tại đó mô phỏng cần được thể hiện). Cột thứ hai với tựa đề ‘Physical Characteristics’ (các đặc tính vật lý) thảo luận các tính chất vật lý có liên quan của các thục thể game tương ứng.

Ở đây, những đối tượng ở dạng khối rắn sẽ có kích thước nhỏ dần khi đi từ dưới lên trên. Ở mức cao nhất chúng cần phải được tạo hoạt cảnh liên tục. Và ngay khi có sự phá hủy xảy ra, các thực thể có mức độ chất lượng hình ảnh tinh tế cao cần được tạo ra từ những thực thể có mức độ chất lượng hình ảnh thô hơn. Cột cuối cùng với tựa ‘PhysX Representation’ (đại diện tương ứng trong PhysX) chỉ ra cách thức đối tượng sẽ được mô tả theo ngôn ngữ PhysX. Những đối tượng ở trên cùng của cột là các ứng cử viên rất tốt cho việc song song hóa, chẳng hạn như đặc trưng dòng chảy dạng hạt.   
Bộ công cụ PhysX SDK hiện nay đã có trên hầu hết các nền tảng máy game thông dụng, từ XBOX 360 sang PlayStation 3 sang Wii rồi đến NVIDIA GPU, với hơn 150 tựa game mới trên thị trường.      

>>> Xem thêm: CSE-825TQ-R720LPB


2/ CUDA cho các ứng dụng video số        
Sẽ là một sai lầm nghiêm trọng nếu tôi không nói gì về CUDA với xử lý video số hóa ở đây như một minh chứng khác cho sự thành công chói lọi của nó trong việc phục vụ cuộc sống hàng ngày của con người. Khi nhìn vào hình (7), bạn đọc có thể quan sát thấy rất nhiều ứng dụng video số hóa dựa trên CUDA, chẳng hạn như cải tiến chất lượng hình ảnh video với phần mềm vReveal của MotionDSP, mở rộng độ phân giải DVD với SimHD của ArcSoft, biên tập video nhanh chóng và đơn giản với SuperLoiloScope ‘Mars’ của Loilo, hoặc chuyển đổi định dạng video nhanh chóng với chất lượng cao bằng công cụ Badaboom do Elemental Technologies tạo ra, v.v… Giá trị ‘xx’ trong hình chính là tỉ lệ tăng tốc khi chúng ta so sánh hiệu năng giữa phiên bản chạy trên GPU và CPU của cùng một phần mềm. Nền tảng GPU được dùng trong so sánh là CUDA chạy trên card NVIDIA GTX285, còn của CPU là chip Intel Core 2 Duo E8200. Chúng ta hãy điểm qua một vài ví dụ trong số các ứng dụng hay ho này.

Khởi đầu như một dự án tạo phần mềm cải thiện chất lượng video cho ứng dụng quân sự, vReveal thường cần đến các hệ thống CPU đa chip đắt tiền để hiển thị video một cách chậm chạp. Nhưng giờ đây với CUDA, GPU đã có thể thực hiện nó theo thời gian thực đến khoảng 5 lần nhanh hơn so với CPU. MotionDSP còn cung cấp một phiên bản cao cấp hơn của phần mềm này, gọi là Ikena, cho lĩnh vực tình báo và điều tra pháp luật.
Phần mềm SimHD của ArcSoft là một ứng dụng lý thú khác mà bạn không thể bỏ qua. Nó là một plug-in cho phần mềm chiếu video ArcSoft TotalMedia Theater, với mục đích chuyển đổi các file multimedia và DVD với độ phân giải chuẩn sang dạng có độ phân giải cao, mang lại cho người xem hình ảnh rõ ràng hơn, sống động hơn theo thời gian thực.

>>> Xem thêm: CSE-822T-400LPB


Đánh giá

Lưu trữ | Phiên bản Mobile | Quy chế | Chính sách | Chợ24h

GMT+7, 18/11/2024 00:37 , Processed in 0.147786 second(s), 132 queries .

© Copyright 2011-2024 ISOFT®, All rights reserved
Công ty CP Phần mềm Trí tuệ
Số ĐKKD: 0101763368 do Sở KH & ĐT Tp. Hà Nội cấp lần đầu ngày 13/7/2005, sửa đổi lần thứ 4 ngày 03/11/2011
Văn phòng: Tầng 9, Tòa Linh Anh, Số 47-49 Khuất Duy Tiến, P. Thanh Xuân Bắc, Q. Thanh Xuân, Hà Nội
Tel: (84) 2437 875018 | (84) 2437 875017 | E-Mail: cho24h@isoftco.com

Lên trên