3 điểm bởi GN⁺ 2023-12-31 | 1 bình luận | Chia sẻ qua WhatsApp

Nền tảng của điện toán khoa học

  • Đây là cuốn sách đề cập đến kiến thức nền tổng quát về điện toán khoa học, bao gồm kiến trúc máy tính, kiến trúc máy tính song song, số học máy tính, đại số tuyến tính, ODE/PDE, v.v.
  • Cũng bao gồm nội dung về cách mọi thứ kết hợp với nhau trong các phép tính quy mô lớn.

Khoa học và kỹ thuật cho lập trình song song

  • Phần lớn điện toán khoa học đều bao gồm lập trình song song dưới một hình thức nào đó.
  • Đây là tài liệu nhập môn tốt nhất về các phiên bản hiện đại của MPI và OpenMP, đồng thời cũng có các phần ngắn về PETSc, Kokkos, Sycl và Co-array Fortran.
  • Đáng chú ý nhờ phạm vi bao quát MPI và OpenMP trong C, Fortran, C++, và cả Python (đối với MPI).

Giới thiệu về lập trình khoa học

  • Lập trình khoa học và kỹ thuật chủ yếu được thực hiện bằng C/C++ và Fortran.
  • Đây là cuốn sách dạy C++17 hiện đại (ngày nay thường được ưa chuộng hơn C) và Fortran2008.
  • Có thể đọc như phần nhập môn điện toán khoa học từ con số 0 hoặc như "C++ dành cho lập trình viên C".
  • Bao gồm nhiều dự án lập trình dài.

Nghề thủ công HPC

  • Hệ sinh thái của điện toán khoa học không chỉ bao gồm ngôn ngữ lập trình và các hệ thống lập trình song song.
  • Cần có hiểu biết về compiler, build system, quản lý mã nguồn, v.v., và cuốn sách này không nhằm trở thành bản tổng hợp đầy đủ của tất cả những điều đó, mà cung cấp một chuỗi phần giới thiệu thiên về quy trình làm việc khoa học.

Về Victor

  • Victor Eijkhout là nhà khoa học nghiên cứu tại Texas Advanced Computing Center.
  • Các giáo trình này được tạo ra trong quá trình ông giảng dạy nhiều khóa học khác nhau tại cơ sở Austin của Đại học Texas.
  • Nếu bạn nghĩ rằng việc công khai những cuốn sách này là một nỗ lực vượt xa trách nhiệm của ông, thì mua cho ông một ly cà phê cũng là một cách hay.

Ý kiến của GN⁺

  • Loạt giáo trình HPC của Victor Eijkhout cung cấp kiến thức toàn diện, từ nền tảng của điện toán khoa học đến lập trình song song và việc áp dụng thực tế của lập trình khoa học.
  • Loạt tài liệu này có thể trở thành nguồn tư liệu thiết yếu để các kỹ sư phần mềm mới bắt đầu bước vào thế giới điện toán hiệu năng cao (HPC).
  • Trong bối cảnh kỹ thuật tính toán ngày càng trở nên quan trọng trong các lĩnh vực khoa học và kỹ thuật, những giáo trình này sẽ là tài liệu rất hữu ích và hấp dẫn đối với các chuyên gia trong lĩnh vực này.

1 bình luận

 
GN⁺ 2023-12-31
Ý kiến trên Hacker News
  • Câu chuyện từ góc độ phần cứng và trung tâm dữ liệu

    • Một người từng làm ở mảng phần mềm/dịch vụ tại AWS cho biết sau khi nghe các nhân viên trung tâm dữ liệu kể chuyện, họ nhận ra việc gia tăng sức mạnh tính toán trong trung tâm dữ liệu thực chất là một bài toán nhiệt động lực học hơn là một bài toán tính toán.
    • Các node đã trở nên cực kỳ dày đặc, khiến việc cấp điện và thải nhiệt trở thành vấn đề rất khó, và ngay cả khi phát hiện ra chỗ kém hiệu quả thì cũng không thể giải quyết bằng một bản cập nhật phần mềm.
    • Đây là câu chuyện từ khoảng 10 năm trước, và họ thấy rất đáng kinh ngạc khi Amazon, bắt đầu từ một hiệu sách trực tuyến, nay lại đang ở tuyến đầu trong việc giải quyết các bài toán nhiệt động lực học.
  • Khoảng cách của HPC với phần cứng

    • Có ý kiến chỉ ra một điểm thú vị là HPC đã được trừu tượng hóa khỏi phần cứng đến mức nào.
    • Sách thường tập trung vào lập trình SPMD, thuật toán, cấu trúc dữ liệu, song song tác vụ, đồng bộ hóa, v.v., nhưng hầu như không đề cập đến các chi tiết kiến trúc máy tính như hệ thống bộ nhớ của siêu máy tính, interconnect băng thông cao (CXL), hay kiến trúc GPU.
    • Người này bày tỏ sự tò mò liệu có phải các lớp trừu tượng và công cụ đã đủ tốt để không cần lo về những chi tiết đó nữa, hay những người làm HPC trên thực tế vẫn phải tinh chỉnh rất nhiều kiểu 'hộp đen' để khai thác hiệu năng.
  • Lời khen dành cho bộ tài liệu của Victor

    • Một người dùng bày tỏ sự thán phục với bộ tài liệu do Victor xây dựng, nói rằng họ không quen biết Victor ngoài đời, nhưng từng học tiến sĩ ở UT Austin trong thập niên 1990 và đã sử dụng tài nguyên của TACC.
    • Khi đó, lập trình viên phải tự song song hóa mã của mình và cần hiểu phần cứng. Đây là giai đoạn lĩnh vực này vẫn còn ở buổi đầu, và việc giải quyết vấn đề thường dựa vào việc đọc các tài liệu như Cray ring binder và tài liệu của Gropp.
  • Sự quan tâm đến khía cạnh vận hành phần cứng của HPC

    • Một người dùng cho biết họ quan tâm đến cách phát hiện và chẩn đoán sự cố trong HPC, đưa ra các hành động như khởi động lại/cài đặt lại/sửa chữa, rồi tối ưu hóa toàn bộ quy trình đó để cung cấp mức dịch vụ tốt nhất.
    • Họ cũng nói rằng rất khó tìm được thông tin về việc khi phải tối ưu đồng thời nhiều mục tiêu, chẳng hạn như tính sẵn sàng của node so với tổng thông lượng, thì các topology khác nhau sẽ ảnh hưởng đến bài toán này ra sao, cũng như những ràng buộc khác liên quan.
  • Xin ý kiến về cách học C++

    • Một lập trình viên Python giàu kinh nghiệm hỏi mọi người nghĩ gì về cách học C++, và liệu có nhược điểm cụ thể nào hay không.
    • Người này nói rằng họ muốn cải thiện kỹ năng C++ của mình, và ba cuốn sách có vẻ ở đúng trình độ phù hợp với họ.
  • Sự thán phục trước việc tác giả cung cấp giáo trình miễn phí

    • Một người dùng bày tỏ sự thán phục khi tác giả đã tạo ra một bộ sách toàn diện, bao gồm cả C++ và các công cụ Unix, rồi chia sẻ miễn phí.
    • Họ nhận xét đây là nội dung hữu ích cho mọi lập trình viên, không chỉ riêng những người chuyên về tính toán hiệu năng cao.
  • Hồi tưởng về lớp học tính toán khoa học

    • Một người dùng từng học một lớp tính toán khoa học vào năm 2013 nhớ lại rằng vì lĩnh vực này quá rộng nên rất nhiều chủ đề chỉ được đề cập lướt qua.
    • Họ nói rằng nếu có một học phần chuyên sâu theo kỳ về tính toán song song thì sẽ rất hữu ích, và đánh giá rằng những cuốn sách này hẳn đã là một phần rất giá trị của khóa học như vậy.
  • Trải nghiệm với đề nghị làm TA cho chương trình cao học HPC

    • Một người dùng cho biết 10 năm trước họ từng được đề nghị làm TA cho một chương trình cao học về HPC nhưng đã từ chối.
    • Họ nói rằng nếu khi đó đã có cuốn sách này thì có lẽ họ đã nhận lời, đồng thời khen ngợi thành tựu của tác giả.
  • Lời khen dành cho UT Austin

    • Có ý kiến nhắc đến việc UT Austin là một cơ sở xuất sắc về HPC và các phương pháp tính toán.
  • Nội dung hữu ích cho lập trình viên

    • Có nhận xét rằng nội dung của bộ sách hữu ích với mọi lập trình viên, đặc biệt là cách tiếp cận đối chiếu giữa việc dạy C++17 và Fortran2008 trong quyển thứ ba.