Hiệu suất của DFT với Quantum ESPRESSO (Phần I)

Số lõi tối ưu cho tính toán DFT
Hình 1: Quan hệ giữa thời gian và số lõi chạy song son trong tính toán DFT

Trong bài trước tôi đã đề cập về lý thuyết phiến hàm mật độ (DFT). Walter Kohn và John Pople đã cùng nhau chia sẻ giải Nobel hóa học năm 1998 cho những nỗ lực xây dựng lý thuyết và phần mềm tính toán cho DFT. Hiện nay có rất nhiều phần mềm DFT nổi tiếng như VASP, ABINIT, SIESTA và Quantum ESPRESSO (QE). Trong đó VASP là khá nổi tiếng với hàng chục ngàn bài báo trích dẫn, tuy nhiên người dùng cần chi một số tiền khá lớn cho vấn đề bản quyền (bản quyền là vấn đề rất nghiêm túc và cần phải tuân thủ khi làm khoa học). Một lựa chọn khác đó là phần mềm QE, tuy là phần mềm miễn phí nhưng QE có những ưu điểm rất mạnh, như khả năng tính toán dạo động mạng tinh thể (phonon) tốt hơn VASP và có một cộng đồng lớn người dùng sẵn sàng giúp đỡ bạn khi gặp phải vấn đề. Tất cả phần mềm trên đều đỏi hỏi một thứ, đó là khả năng tính toán song song của máy tính. Đối với siêu máy tính thì nó không phải là vấn đề, vì chỉ cần sử dụng số lõi (core) lớn cho tính toán của mình là xong. Tuy nhiên như vậy rất lãng phí tài nguyên, và đặc biệt những nhóm nghiên cứu chỉ có các cụm máy nhỏ. Do vậy câu hỏi đặt ra là bao nhiêu lõi là đủ cho tính toán DFT?

Để trả lời cho câu hỏi này, tôi đã test quan hệ giữa thời gian và số lõi trong tính toán DFT với phần mềm QE. Mô hình sử dụng ở đây là grahene với hai nguyên tử C trong ô mạng và sử dụng hàm thế năng GGA (thông số cụ thể xem trong Hình 1). Máy tính được sử dụng ở đây bao gồm 2 máy tính tube50 và tube60. Tube50 bao gồm 8 lõi và tube60 bao gồm 40 lõi. Tính toán được chạy song song dựa trên phần mềm OpenMPI. Tube50 và tube60 là hai cụm máy tính ở tại Saito Lab – Đại học Tohoku (http://flex.phys.tohoku.ac.jp/). Kết quả được hiển thị trên hình 1. Đầu tiên ta có thể thấy quan hệ thời gian với số lõi là tuân theo hàm mũ. Đây cũng là nhược điểm của lý thuyết DFT nói chung với tính toán song song. Nghĩa là sẽ có một giới hạn với số lõi, bạn có sử dụng nhiều hơn cũng không tiết kiện được thời gian hơn là mấy. Cụ thể trong trường hợp của tôi, kết quả cho thấy từ 16 lõi trở đi thời gian bắt đầu hội tụ. Do vậy sử dụng 16 lõi là tối ưu cho cả tải nguyên cũng như thời gian tính toán. Cả tube50 và tube60 đều tuân theo quy luật hàm số mũ. Tuy nhiên tube60 cho thấy thời gian chạy nhanh hơn đáng kể khi mở rộng số lõi. Thời gian là như nhau khi cùng sử dụng 2 lõi, nhưng gần như gấp đôi khi cùng sử dụng 8 lõi. Điều này cho thấy máy càng nhiều lõi thì thời gian càng tiết kiệm, vì chương trình sẽ không chiếm mất lõi cho chạy hệ thống. Tube50 có 8 lõi do đó chạy song song với 8 lõi sẽ chiếm mất cả nhưng lõi cho chạy hệ điều hành và các chương trình khác. Cũng trong hình 1 cho thấy tổng thời gian nhân với sỗ lõi là tuyến tính. Hệ số góc trong phương tình tuyến tính cho thấy hiệu quả của máy tính đang sử dụng cho tính toán DFT.

2 comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s