1. Tuyển Mod quản lý diễn đàn. Các thành viên xem chi tiết tại đây

HPC: MIT phát triển ngôn ngữ lập trình mới cho điện toán hiệu suất cao

Chủ đề trong 'Rao vặt Khu Vực Hà Nội' bởi minhduongpro, 25/02/2022.

  1. 1 người đang xem box này (Thành viên: 0, Khách: 1)
  1. minhduongpro

    minhduongpro Thành viên rất tích cực

    Tham gia ngày:
    12/07/2017
    Bài viết:
    2.181
    Đã được thích:
    1
    Với nguyên mẫu ngôn ngữ tensor, “tốc độ và độ chính xác không phải cạnh tranh lẫn nhau… chúng có thể song hành cùng nhau!”

    Điện toán hiệu suất cao (HPC) là cấp thiết cho số lượng tác vụ ngày càng tăng – chẳng hạn như xử lý hình ảnh hoặc các ứng dụng học sâu khác nhau trên mạng nơ-ron – nơi người ta phải làm việc với hàng núi dữ liệu khổng lồ và tiến hành một cách tối ưu và mau chóng nhất, nếu không, điều đó có thể chiếm lượng thời kì vô tận. Nhiều người tin rằng, khi thực hiện các hoạt động kiểu này, chẳng thể tránh khỏi sự đánh đổi giữa tốc độ và độ tin cậy. Từ ý kiến này, nếu tốc độ là ưu tiên hàng đầu, thì độ tin cậy có thể sẽ bị tương tác, và ngược lại.

    ngoài ra, một nhóm các nhà nghiên cứu, chủ yếu có trụ sở tại MIT, đang đặt vấn đề về khái niệm đó, tuyên bố rằng trên thực tế, ai cũng có thể có tất cả. Amanda Liu, một nghiên cứu sinh năm thứ hai tại Phòng thể nghiệm Khoa học Máy tính và trí tuệ Nhân tạo (CSAIL), cho biết với tiếng nói lập trình mới mà họ đã viết riêng cho điện toán hiệu suất cao, “tốc độ và độ chuẩn xác không cố định phải cạnh tranh lẫn nhau. Thay vào đó, chúng có thể song hành, chung tay trong các chương trình mà chúng tôi viết ra”.

    Liu – cùng với Đại học California tại Berkeley postdoc Gilbert Louis Bernstein, Phó Giáo sư Adam Chlipala của MIT và Trợ lý Giáo sư Jonathan Ragan-Kelley của MIT – đã diễn tả về tiềm năng của sáng kiến được phát triển gần đây của họ, “ A Tensor Language” (ATL), vào tháng trước tại hội nghị Principles of Programming Languages ở Philadelphia.

    “Mọi thứ nằm trong ngôn ngữ của chúng tôi”, Liu nói, “nhằm tạo ra một con số độc nhất hoặc một Tensor.” Đến lượt mình, các Tensor là sự tổng quát hóa của vectơ và ma trận. Trong khi vectơ là các đối tượng một chiều (thường được biểu diễn bằng các mũi tên đơn) và ma trận là mảng số hai chiều quen thuộc, thì Tensor là mảng n chiều, ví dụ: có thể có dạng mảng 3x3x3 hoặc một thứ gì đó có kích tấc cao hơn (hoặc thấp hơn).

    >>> Xem thêm: gia ban dell r650



    Toàn bộ mấu chốt của một thuật toán hoặc chương trình máy tính là sự khởi tạo một phép tính cụ thể. Nhưng có thể có nhiều cách khác nhau để viết chương trình đó – “một loạt các cách thực hành với mã thực thi khác nhau sẽ gây hoang mang”, Liu và các đồng tác giả của cô đã viết trong bài báo sắp được xuất bản của họ – một số sẽ nhanh hơn đáng kể so với những cách khác. Cô giảng giải lý do chính đằng sau ATL là: “Do HPC tiêu tốn nhiều tài nguyên nên bạn có thể muốn sửa đổi hoặc viết lại các chương trình thành một dạng tối ưu để tăng tốc độ. Người ta thường bắt đầu với một chương trình dễ viết nhất, nhưng đó có thể không phải là cách nhanh nhất để chạy nó, do đó vẫn cần phải điều chỉnh thêm”.

    Ví dụ: giả tỉ một hình ảnh được đại diện bởi một mảng số có kích thước 100 × 100, mỗi số tương ứng với một pixel và bạn muốn lấy giá trị nhàng nhàng cho những con số này. Điều đó có thể được thực hiện trong một phép tính hai thời đoạn bằng cách xác định giá trị trung bình của mỗi hàng và sau đó lấy giá trị làng nhàng của mỗi cột. ATL có một bộ dụng cụ tương tác – cái mà các nhà khoa học máy tính gọi là “framework” – cho thấy quy trình hai bước này có thể được chuyển đổi thành quy trình một bước nhanh hơn như thế nào.

    Liu nói: “Chúng tôi có thể đảm bảo rằng sự tối ưu hóa này là xác thực bằng cách sử dụng một thứ gọi là trợ lý xác thực (proof assistant). Hướng tới mục đích này, ngôn ngữ mới của nhóm được xây dựng dựa trên một tiếng nói hiện có, Coq, có chứa một proof assistant. Đến lượt, proof assistant lại có khả năng để chứng minh các khẳng định của mình theo phương thức toán học nghiêm nhặt.

    Coq có một đặc điểm nội tại khác khiến nó trở nên hấp dẫn đối với nhóm dựa trên MIT: các chương trình được viết trong đó, hoặc các bản chuyển thể của nó, luôn kết thúc và không thể chạy mãi mãi trên các vòng lặp bất tận (chẳng hạn như có thể xảy ra với các chương trình được viết bằng Java). &Ldquo;Chúng tôi chạy một chương trình để có một câu trả lời duy nhất – một số hoặc một tensor,” Liu nói. &Ldquo;Một chương trình không bao giờ chấm dứt sẽ vô dụng đối với chúng tôi, nhưng sự chấm dứt là thứ mà chúng tôi nhận được miễn chi phí bằng cách sử dụng Coq”.

    Dự án ATL phối hợp hai trong số các mối quan tâm nghiên cứu chính của Ragan-Kelley và Chlipala. Ragan-Kelley từ lâu đã quan tâm đến việc tối ưu hóa các thuật toán trong bối cảnh của điện toán hiệu suất cao. Trong khi đó, Chlipala đã tập hợp nhiều hơn vào việc xác minh cho việc tối ưu hóa thuật toán (như trong việc xác minh dựa trên toán học). Điều này diễn đạt sự hiệp tác đầu tiên của họ. Bernstein và Liu đã được thành lập vào năm ngoái, và kết quả là sự ra đời của ATL.

    ngày nay, nó là ngôn ngữ tensor trước nhất và cho đến nay là tiếng nói tensor duy nhất có các tính năng tối ưu đã được xác minh chính thức. Tuy nhiên, Liu cảnh báo rằng ATL vẫn chỉ là một prototype – mặc dầu là một prototype đầy hứa hẹn – đã được thể nghiệm trên một số chương trình nhỏ. &Ldquo;Một trong những mục đích chính của chúng tôi, nhìn về phía trước, là cải thiện khả năng mở mang của ATL, để nó có thể được sử dụng cho các chương trình lớn hơn mà chúng tôi thấy trong thế giới thực,” cô nói.

    Trước đây, việc tối ưu hóa các chương trình này thường được thực hành bằng tay, trên cơ sở ngẫu nhiên (ad-hoc) hơn nhiều, thường ảnh hưởng đến việc thử và sai, và thỉnh thoảng có rất nhiều lỗi. Với ATL, Liu nói thêm, “mọi người sẽ có thể tuân theo một cách tiếp cận có nguyên tắc hơn nhiều để viết lại các chương trình này – và làm như vậy một cách dễ dàng hơn và đảm bảo tính đúng đắn hơn.”

    >>> Xem thêm: giá r750xs dell

Chia sẻ trang này