Để sử dụng Biến đổi Fourier nhanh (FFT) trên dữ liệu được lấy mẫu thống nhất, ví dụ như liên quan đến bộ giải PDE, người ta biết rằng FFT là thuật toán ). Làm thế nào cũng làm quy mô FFT khi xử lý song song cho n → ∞ (tức là rất lớn)?
Để sử dụng Biến đổi Fourier nhanh (FFT) trên dữ liệu được lấy mẫu thống nhất, ví dụ như liên quan đến bộ giải PDE, người ta biết rằng FFT là thuật toán ). Làm thế nào cũng làm quy mô FFT khi xử lý song song cho n → ∞ (tức là rất lớn)?
Câu trả lời:
Đây là bằng chứng giai thoại nhiều hơn bằng chứng đã được chứng minh, nhưng có vẻ như các triển khai hiện có cho FFT, như FFTW , có giới hạn về khả năng mở rộng quy mô của chúng.
Khi chúng tôi bắt đầu sử dụng các bộ giải -space của LAMMPS trong các hệ thống rất lớn ( O ( 10 7 ) ), chúng tôi thấy rằng tỷ lệ vẫn tiếp tục, miễn là chúng tôi có thể giữ số lượng bộ xử lý đủ nhỏ để chúng có thể vừa với một giá đỡ . Ngay khi chúng tôi cố gắng mở rộng hơn nữa (ở trên về bộ xử lý 4K, tùy thuộc vào máy), tỷ lệ bị phá vỡ rõ ràng vì chi phí liên lạc để đẩy dữ liệu giữa các bộ xử lý trở nên quá lớn để duy trì tỷ lệ. [Gần đây, để khắc phục vấn đề này, họ đã giới thiệu khả năng dành một phân vùng nhất định của phân bổ bộ xử lý cho tính toán FFT.]
Nhưng thông điệp mang về nhà ở đây là FFT nên mở rộng quy mô; tuy nhiên, đôi khi có những hạn chế và tương tác bất ngờ xuất hiện khi người ta chuyển từ xem xét lý thuyết về hiệu suất của thuật toán sang triển khai thực tế trên nền tảng HPC thực tế.
Trong bối cảnh của PDE, điều quan trọng là phải nhận ra rằng giá trị của đối với FFT 1D bắt buộc thường sẽ phát triển như gốc thứ của tổng số điểm lưới, trong đó chiều thường là 3.
Tìm kiếm "FFT song song" hoặc "khả năng mở rộng giả ngẫu nhiên" trên Google Scholar mang lại rất nhiều thông tin mà tôi không đủ điều kiện để đánh giá. Nhưng đây có vẻ là một ví dụ gần đây về những gì có thể đạt được trong thực tế:
Trừu tượng:
Một sơ đồ lai sử dụng MPI cho song song bộ nhớ phân tán và OpenMP cho song song bộ nhớ chia sẻ được trình bày. Công việc được thúc đẩy bởi mong muốn đạt được số Reynold đặc biệt cao trong các tính toán giả về nhiễu loạn chất lỏng trên các hệ thống xử lý song song mới nổi, số lõi cao, khối lượng lớn. Việc thực hiện kết hợp xuất phát từ và gia tăng mã giả song song MPI có thể mở rộng được kiểm tra tốt. Mô hình lai dẫn đến một bức tranh mới về sự phân rã miền của các lưới giả, rất hữu ích trong việc hiểu, trong số những thứ khác, chuyển đổi 3D của dữ liệu toàn cầu cần thiết cho các biến đổi Fourier nhanh song song là thành phần trung tâm của số lượng rời rạc. Chi tiết về việc thực hiện lai được cung cấp, và kiểm tra hiệu suất minh họa các tiện ích của phương pháp. Nó được chỉ ra rằng sơ đồ lai đạt được khả năng mở rộng gần lý tưởng lên tới ~ 20000 lõi tính toán với hiệu suất trung bình tối đa là 83%. Dữ liệu được trình bày thể hiện cách chọn số lượng quy trình MPI và luồng OpenMP tối ưu để tối ưu hóa hiệu suất mã trên hai nền tảng khác nhau.
Nếu bạn có số lượng bộ xử lý vô hạn, DFT có thể được xác định trong thời gian.
Trong thuật toán ngây thơ, bạn có thể đặt từng điểm đầu ra trên một nút riêng biệt và tính toán điểm định dạng phạm lỗi đó trong thời gian. Bất kỳ thuật toán nhanh nào cũng có thể phù hợp với tỷ lệ này.
Tuy nhiên, bạn cũng cần thu thập tất cả các điểm biến đổi phạm vi trong một mảng, mất thời gian.