Khả năng mở rộng của Biến đổi Fourier nhanh (FFT)


12

Để 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)?O(nlog(n)n


1
Tôi có chút bối rối. Bạn đang nói về cách quy mô thời gian thực hiện cho một số bộ xử lý cố định khi số lượng điểm dữ liệu tăng lên, cách thời gian thực hiện quy mô cho một số điểm dữ liệu cố định khi số lượng hoặc bộ xử lý tăng hoặc cách thời gian thực hiện quy mô cho một tỷ lệ cố định điểm dữ liệu trên mỗi bộ xử lý khi số điểm dữ liệu tăng?
Geoff Oxberry

Cả vảy yếu và mạnh.
Allan P. Engsig-Karup

Câu trả lời:


8

Đâ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.]kÔi(107)

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ế.



5

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 n đối với FFT 1D bắt buộc thường sẽ phát triển như dgốc thứ của tổng số điểm lưới, trong đó chiều d 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ế:

Một sơ đồ MPI-OpenMP lai cho các tính toán giả ngẫu nhiên song song có thể mở rộng cho nhiễu loạn chất lỏng

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.


1

Nếu bạn có số lượng bộ xử lý vô hạn, DFT có thể được xác định trong Ôi(n) 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 Ôi(đăng nhậpn)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 Ôi(n) thời gian.


1
Có một lượng giao tiếp đáng kể trong FFT, nhưng chắc chắn không cần thiết (hoặc mong muốn) để thu thập kết quả trên một nút. Một cách sử dụng FFT rất phổ biến là trong mô phỏng số trực tiếp của nhiễu loạn trong đó nó được sử dụng để áp dụng thuật ngữ đối lưu phi tuyến trong không gian thực trong khi phần còn lại của mô phỏng được thực hiện trong không gian Fourier. Điều này rõ ràng không yêu cầu nối tiếp kết quả. Nói chung với tính toán song song, dữ liệu "lớn" phải luôn được lưu trữ và phân tích ở dạng phân tán.
Jed Brown
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.