Proceedings VCM 2012 90 cấu hình chip CNN giải phương trình thuỷ lực hai chiều bằng

6 190 0
Proceedings VCM 2012 90 cấu hình chip CNN giải phương trình thuỷ lực hai chiều bằng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 657 Mã bài: 146 Cấu hình chip CNN giải phương trình thuỷ lực hai chiều bằng công nghệ FPGA Config CNN chip solving 2D shallow water equation using FPGA technology Vũ ĐứcThái, Bùi Văn Tùng Trường ĐH Công nghệ thông tin và truyền thông- ĐH Thái Nguyên e-Mail: vdthai@ictu.edu.vn, bvtung@ictu.edu.vn Phạm Thượng Cát Viện Công nghệ thông tin - Viện KH&CN Việt Nam e-Mail: ptcat@ioit.ac.vn Tóm tắt Công nghệ chip trắng FPGA đã và đang được ứng dụng nhiều trong việc thiết kế phát triển các mô hình phần cứng chip tính toán chuyên dụng. Báo cáo này giới thiệu phương pháp cấu hình chip Vertex 6 của Xilinx (loại XCVL240T-1FFG1156) để giải phương trình thuỷ lực hai chiều. Báo cáo gồm 4 phần: phần 1 giới thiệu; phần 2 phân tích xây dựng thuật toán và kiến trúc chip CNN; phần 3 mô hình thực nghiệm. Phần kết luận đánh giá thuật toán và hướng triển Abstract: PGGA technology have been applied widely in designed and developed specific hardware. This paper introduces the method for configuring FPGA chip Vertex 6 from Xilinx (XCVL240T-1FFG1156) to solve 2D shallow water equation. The paper is divided into 4 parts: part 1 introduction; part two analy and design algorithm model for CNN hardware; part 3 show the computing result to solve equation on chip; the last part is the conclusion developing trend. Ký hiệu Ký hi ệu Đơn v ị Ý ngh ĩa A , B , z T ập mẫu của CNN h,u,v, Ẩ n hàm đ ặc tr ưng cho giá trị độ cao, vận tốc của mặt nước trong phương trình đạo hàm riêng là hàm 3 biến (x,y,t) Chữ viết tắt CNN C ellular N eural N etwork FPGA Field Programmable G ate A rra y CNN - UM CNN universal machine CMOS Complementary M etal O xide S emi - conductor 1. Phần mở đầu Công nghệ mạng nơ ron tế bào được một số nhà nghiên cứu ứng dụng trong việc giải phương trình vi phân đạo hàm riêng thành công. F. Puffer và nhóm nghiên cứu đã xây dựng mô hình CNN giải phương trình dòng chảy không nén Navier-Stock trên chip 128x128 trong không gian sai phân 60x60 điểm có độ chính xác tới 0,005 so với nghiệm giải tích [8]. Nhóm tác giả F. Pardo nghiên cứu kiến trúc CNN rời rạc (DT-CNN) giải phương trình truyền nhiệt trên kiến trúc CNN 3 lớp bằng công nghệ FPGA Vertex II RC2000. Thực nghiệm trong không gian ba chiều 1mx1mx20cm, mạng tính toán và đọc/ghi dữ liệu theo pipelines nhanh hơn máy PC 3 GHz tới 34 lần [7]. Việc nghiên cứu tình hình diễn biến xảy ra trên các vùng biển, đại dương là rất cần thiết phục vụ cho các hoạt động của tàu bè trên biển [6],[9]. Nhiều nhà nghiên cứu đã đề xuất và tiến hành nghiên cứu các thông số cần theo dõi tính toán như vận tốc dòng chảy theo các chiều (u, v), độ cao mực nước (h), nhiệt độ (t), độ ô nhiễm (z) thậm chí hiện tượng mưa giông, biến đổi khí hậu trên khoảng không mà phương trình toán học mô tả là hệ các phương trình đạo hàm riêng phức tạp [1],[5],[8]. Giải phương trình trên cần số lượng tính toán rất lớn nếu giải trên máy PC có thể không đáp ứng được về tốc độ tính toán. Tại Việt Nam cũng như trên thế giới đã có nhiều phần mềm tính toán chạy trên máy PC (MIKE, VRSAP, SAL ) được các nhà nghiên cứu về cơ học thuỷ lực sử dụng cho mỗi bài toán ứng dụng cụ thể. Tuy nhiên việc giải 658 Vũ ĐứcThái, Bùi Văn Tùng, Phạm Thượng Cát VCM2012 trên công nghệ mạng nơ ron tế bào CNN có kiến trúc tính toán song song với hàng ngàn tế bào xử lý trên một chip là một công nghệ hoàn toàn khác. Mạng CNN là mảng các chip có cấu trúc đều dễ lập trình và thực hiện trên các công nghệ phần cứng như CMOS, FPGA [2],[6],[7]. Ban đầu ta khảo sát, đo đạc các giá trị (u,v,h ) tại những điểm cần theo dõi, sau đó tính toán dự báo các giá trị u,v,h tại các điểm đó trong một thời điểm trong tương lai. Người ta đã xây dựng nên mô hình toán học mô tả các thông số gồm các phương trình:  Phương trình mô tả độ cao mực nước: h uh vh t x y          (1)  Phương trình mô tả sự biến thiên vận tốc dòng nước theo chiều Ox 2 2 1/2 2 2 2 ( ) x u gu u v u h uv g t K h x x y               (2)  Phương trình mô tả sự biến thiên vận tốc dòng nước theo chiều Oy 2 2 1/2 2 2 2 ( ) y v gv u v v h uv g t K h y y x               (3) với các điều kiện ban đầu trên các vị trí tương ứng. 2. Phân tích và xây dựng thuật toán, kiến trúc chip CNN giải bài toán Mô hình toán học của mạng CNN có dạng hệ phương trình vi phân liên tục về thời gian và rời rạc về không gian rất phù hợp cho giải các hệ phương trình vi phân đạo hàm riêng [3],[4]: ( , ) ( , ) ( , ) ( , ) 1 ( , ; , ) ( , ; , ) r r xij xij ykl ukl ij C k l S i j C k l S i j v C v A i j k l v B i j k l v z t R            Trong đó C, R là giá trị tụ điện và điện trở tuyến tính trong mạch tế bào; v là điện áp trạng thái đặc trưng cho các ẩn hàm cần tính toán trong phương trình đạo hàm riêng; A, B, z là mẫu tìm được (mỗi phương trình có tập mẫu đặc trưng riêng); Để giải các phương trình bằng công nghệ CNN, chúng ta cần phân tích và kiến tạo mạng CNN phù hợp với bài toán cần giải. Với bài toán thuỷ lực nêu trên ta chọn lưới sai phân hai chiều. Thực hiện sai phân vế phải các phương trình cho hai biến không gian x,y: Sai phân phương trình (1): 1, 1, 1, 1, 1, 1, 1, 1, 2 2 2 2 i j i j i j i j i j i j i j i j u u v u h h h h h t x x y y                    (4) Sai phân (2): 2 2 1/2 , , 1, 1, 1, 1, ij 1, 1, 2 2 , , 1 , 1 , 1 , 1 ( ) ( ) ( ) 2 2 2 2 ( ) (5) 2 2                           i j i j i j i j i j i j i j i j x i j i j i j i j i j u v u u h h u gu u u g t K h x x x x u v u v y y Sai phân (3): 2 2 1/2 , , 1, 1, 1, 1, ij 1, 1, 2 2 , 1, 1, 1, 1, ( ) ( ) ( ) 2 2 2 2 ( ) (6) 2 2                           i j i j i j i j i j i j i j i j y i j i j i j i j i j u v v v h h v gv v v g t K h y y y y u v u v x x So sánh với phương trình trạng thái của CNN, ta được các mẫu của phương trình (4), (5), (6), ta được: -Mẫu cho hàm h: (nếu chọn C=1) 0 0 0 1 1 1 2 2 0 0 0 hu h A x x R                 1 0 0 2 1 0 0 1 0 0 2 hv h y A R y                       B h = 0; z h =0 - Mẫu cho hàm u: (nếu chọn C=1) 2 0 0 0 1 1 1 ( ) 2 2 0 0 0 u u x g A x x K R                    0 0 0 0 2 2 0 0 0 uh g g A x x                 1 0 0 2 0 0 0 1 0 0 2 uv y A y                     0; 0 u u B Z   - Mẫu cho hàm v: (nếu chọn C=1) 2 1 0 0 2 1 0 ( ) 0 1 0 0 2                          v v y y g A K R y 0 0 2 0 0 0 0 0 2 vh g y A g y                     0 0 0 1 1 0 2 2 0 0 0 vu A x x                 0; 0 v v B Z   Sau khi tìm được các mẫu cho bài toán chúng ta thiết kế hệ CNN để thực thi bài toán. Kiến trúc của Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 659 Mã bài: 146 mạng CNN với các mẫu nêu trên có 3 lớp 2D như mô tả trong Hình 1 [8]. 3. Mô hình thực nghiệm Công nghệ chip trắng FPGA đã được nhiều nhà nghiên cứu về CNN sử dụng [6],[7]. Từ các mẫu đã tìm được chúng ta thiết kế các khối tính toán cho mạng tính toán cho các hàm h, u, v, và có thể cấu hình từ chip FPGA “trắng” để thực thi việc tính toán theo thuật toán và các mẫu tìm được. Việc thiết kế mạng CNN cụ thể cho mỗi bài toán căn cứ vào mô hình phân tích kiến trúc tổng thể. Bên cạnh đó còn tuỳ theo tài nguyên của loại chip FPGA sử dụng; không gian tính toán theo yêu cầu thực tế; tốc độ và độ chính xác tính toán cần đạt Những yếu tố này quyết định kiến trúc thực nghiệm cho mạng. Nếu tốc độ tính toán cần cực nhanh như nhu cầu của các hệ điều khiển thời gian thực ta cần xử lý song song mức độ cao thì cần tài nguyên lớn vì mỗi phần tử cần có khối tính toán riêng. Nếu giảm tốc độ tính toán thì ta có thể thiết kế sử dụng chung một số khối tính toán số học và tiết kiệm tài nguyên tính toán. Giải pháp tối ưu là tạo ra mô hình phối hợp giữa xử lý song song và xử lý tuần tự vừa có tốc độ cần thiết vừa tiết kiệm tài nguyên. Nếu yêu cầu về độ chính xác cao ta thiết kế bộ nhớ lưu trữ dữ liệu cần nhiều bit lưu trữ hơn Từ những phân tích trên, với mỗi bài toán ta có thể chọn phương án thiết kế thích hợp cho từng nhu cầu ứng dụng. Tài nguyên của chip Vertex-6 loại XC6VLX240T- 1FFG1156 gồm: 150720 Slide LUTs; 768 khối sử lý số DSP; 48 832 khối nhớ RAM True Dual Port 18Kb (tương đương với 416 khối RAM 36Kb), tổng kích thước bộ nhớ RAM là 14976 Kb. Phần mềm thiết kế có thư viện các IP core thực hiện các phép toán trên số thực: cộng, trừ, nhân, chia, căn bậc hai,… (mỗi IP core tốn một số lượng Logic Cells, DSP nhất định) với khả năng tính toán theo Pipeline, thời gian cho mỗi lần tính chỉ mất 1 chu kỳ clock. Vỉ mạch của chip XC6VLX240T- 1FFG1156 được thể hiện như trong Hình 2 Tài nguyên của chip dành cho các phép xử lý số học được tính như trong Bảng 1. Bảng. 1 Tài nguyên cho các phép toán số học STT Phép tính LUTs DSPs 1 Cộng 414 266 2 2 Trừ 414 266 2 3 Nhân 841 207 1 102 2 4 Chia 753 5 Căn bậc 2 480 Để mỗi phần tử có tốc độ tính toán nhanh nhất thì các phép tính cần phải được thực một song song một cách tối đa. Mạch cho mỗi phần tử (u, v) như sau: H.1 Sơ đ ồ khối kiến trúc của chip CNN cho phương tr ình thu ỷ lực hai chiều L ớp h L ớp u L ớp v H.2 V ỉ mạch chip Vertex 6, loại XC6VLX240T-1FFG1156 của Xilinx H. 3 K h ối tính toán cho ph ẩn tử v 660 Vũ ĐứcThái, Bùi Văn Tùng, Phạm Thượng Cát VCM2012 Kiến trúc này cho phép tính toán theo cơ chế đường ống (pipeline) để phối hợp tiến trình đọc và xử lý dữ liệu thích hợp đạt tốc độ tối ưu. Sau 6 chu kỳ clock để hoàn thiện xử lý dữ liệu đầu tiên và xử lý các dữ liệu tiếp theo chỉ mất 1 chu kỳ clock. Tuy nhiên, vì mỗi phép tính sẽ mất một số lượng Slide LUTs và DSP nên kiến trúc này tốn tài nguyên, do đó làm giảm không gian tính toán (MxN). Tài nguyên cần cho mỗi phần tử gồm có 6 khối Cộng, 12 khối Trừ, 13 khối Nhân, 6 khối Chia và 1 khối Căn bậc hai, như vậy cần khoảng 1112 LUTs và 62 DSPs. Với việc sử dụng tài nguyên tối đa của chip có thể cài đặt song song cho 3x4 =12 phần tử tính toán. Trong thực tế, không gian cần tính toán có thể rất lớn, như bài toán của nhóm N. Nagy tính cho không gian 2000x2000 điểm. Với thiết bị hiện có, khi thực nghiệm cấu hình cho mạng CNN giải bài toán thuỷ lực nhóm nghiên cứu đã chia không gian tính toán thành các khối, trong một khối có một số phần tử xử lý tuần tự. Mạch cho mỗi khối như sau: Theo kiến trúc này, thời gian tính toán của mỗi phần tử để xử lý xong 1 dữ liệu là 18 chu kỳ clock. Tài nguyên cần dùng cho mỗi phần tử chỉ cần 1 khối Cộng/Trừ, 1 khối Nhân, 1 khối Chia và 1 khối Căn bậc hai. Giải pháp này sử dụng tài nguyên tối đa của chip, mỗi khối cần khoảng 1703 LUTs và 4 DSPs như vậy có thể cài đặt song song 88 khối tính toán. Kiến trúc chip CNN 2D tạo được trên chip XC6VLX240T-1FFG1156 sẽ có kích thước 11 x 8 = 88 khối. Kiến trúc tổng thể của chip gồm khối tính toán, khối điều khiển và bộ nhớ như trong Hình 6 Thuật toán xử lý thực hiện các bước sau: 1. Đọc nội dung h,u,v đưa vào chip CNN (mỗi lần đọc mất 1chu kỳ clock); 2. Tạo xung nhịp cho CNN; 3. Sau một số xung nhịp đầu tiên cần thiết để tính xong cho một lần ma trận dữ liệu trong RAM. Tín hiệu Finish báo một lần xử lý đã hoàn thành. 4. Cập nhật biên 5. Cập nhật bộ nhớ 6. Đưa kết quả ra ngoài. Kết quả tính toán so với giải trên máy PC là chính xác. Như đã giới thiệu độ chính xác tính toán tuỳ theo kích thước bộ nhớ được thiết kế nên hoàn toàn đáp ứng được theo yêu cầu của người dùng. Với việc chia không gian tính toán thành các khối xử lý song song, trong mỗi khối các điểm tính toán thực hiện tuần tự ta đã giải quyết được sự kết hợp giữa tính toán song song và tuần tự vừa tận dụng được tài nguyên tính toán của chip vừa đáp ứng được nhu cầu tính toán cho không gian lớn. Kết quả thực nghiệm được thể hiện trong Hình 7,8,9 sau (giá trị ban đầu và giá trị sau hai lần tính toán): H.4 Kh ối tính toán cho phần tử u H. 5 Ki ến tr úc x ử l ý tu ần t ự H. 6 Ki ến tr úc chip CNN 2D Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 661 Mã bài: 146 3. Kết luận Với sự giúp đỡ của các nhà khoa học Hungary, nhóm nghiên cứu đã xây dựng mô hình thuật toán, cài đặt thực nghiệm thành công mạng CNN 2D 3 lớp trên chip trắng Vertex6 XC6VLX240T- 1FFG1156. Thuật toán trên cũng đã được cài đặt tính toán mô phỏng trên máy PC sử dụng công cụ Matlab cho kết quả chính xác như tính toán trên chip CNN mà nhóm thiết kế. Độ chính xác này cũng đã được chứng minh bằng lý thuyết. Tuy nhiên, do tài nguyên của chip cũng còn hạn chế nên số tế bào cấu hình được khi thực nghiệm chưa lớn. Cũng với mục đích thử nghiệm nên nhóm mới thử nhập dữ liệu và tính toán cho không gian 7x7 điểm (H.7, H.8, H.9). Để khắc phục, nhóm đã đề xuất giải pháp (giải pháp này hoàn toàn thực hiện được) chia không gian tính toán thành các miền tính toán mỗi miền gồm các phần tử dữ liệu được tính toán tuần tự, vấn đề là phải xử lý các giá trị trên các biên đảm bảo tính liên tục và đồng bộ thời gian tính toán. Theo cách này có thể cấu hình được không gian tính toán tới 178x178 điểm (kích thước không gian tính toán bị giới hạn là do giới hạn về kích thước bộ nhớ RAM tích hợp trên chip), thời gian cho một lượt xử lý là 7,7 micro giây (với tốc độ xung nhịp 350 MHz) như vậy nhanh hơn máy PC Intel Dual CPU T2310 1,46GHz khoảng 1560 lần. Nếu xử lý theo cách tiết kiệm bộ nhớ RAM thì có thể cấu hình được không gian tính toán tới 230x230 điểm, thời gian tính toán hết 38 micro giây/lượt nhanh hơn máy PC Intel Dual CPU T2310 1,46GHz khoảng 530 lần. Để gia tăng số lượng điểm tính toán song song thì có thể dùng chip có tài nguyên phong phú hơn và có nhiều những hỗ trợ cho việc tính toán. Giảm kích thước số bit để biểu diễn số thực cũng cho số lượng điểm tính toán song song tăng lên. Hiện tại nhóm sử dụng số thực 32 bit, nếu sử dụng số thực 18 bit thì sẽ tăng không gian tính toán lên khoảng 2,5 lần. Việc nghiên cứu, giải phương trình thuỷ lực hai chiều bằng công nghệ CNN được nhóm nghiên cứu tại Việt Nam thực hiện sự giúp đỡ từ các nhà nghiên cứu tại Viện Hàn lâm khoa học Hungary (SZTAKI) trong Nhiệm vụ hợp tác Nghị định thư Việt Nam – Hungary năm 2011-2012. Nhóm nghiên cứu chân thành cám ơn GS P. Szolgay, N. Nagy và các cộng sự đã có ý kiến tư vấn đóng góp cho nhóm trong quá trình nghiên cứu và thực nghiệm thành công. Tài liệu tham khảo [1] Lai V.H., Anh T.N., Cường T.N., Hà T.T., Hoài T.L., Hưng B. N., Hương T.T.D Phong H.L: Xây dựng và áp dụng các phần mềm thuỷ văn, thuỷ lực phục vụ kiểm soát lũ lụt ở đồng bằng sông Hồng. Kỷ yếu Hội nghị khoa học Kỷ niệm 35 năm thành lập Viện Khoa học và Công nghệ Việt Nam, Tr. 62-71, 2010. [2] Cát P.T: Công nghệ mạng nơ ron tế bào và khả năng ứng dụng trong các hệ cơ điện tử. Tuyển tập Hội nghị toàn quốc lần thứ 3 về Cơ điện tử VCM2006, NXB Đại học Quốc gia Hà nội, Tr. 33- 42, 2006. [3] Chua L. O., Yang L.: Cellular Neural Networks: Theory. IEEE Transaction on Circuits and System,Vol. 35 (10), pp. 1257-1272, 1988. [4] Chua L.O., Yang L.: Cellular Neural Networks: H. 7 Giá trị ban đầu; và giá trị sau khi tính toán c ủa h H. 8 Giá trị ban đầu; và giá trị sau kh i tính toán c ủa u H. 9 Giá trị ban đầu; và giá trị sau khi tính toán của v 662 Vũ ĐứcThái, Bùi Văn Tùng, Phạm Thượng Cát VCM2012 Application. IEEE Trans. Circuits and System Vol.35, PP. 1273-1290, 1988. [5] Kocsárdi S., Nagy Z., Csík A., Szolgay P.: Two- Dimensional Compressible Flow on Emulated Digital CNN-UM. Proceeding of 11 th Internatonal Workshop on CNN and their Applications, PP. 169- 174, 2008. [6] Nagy Z., Szolgay P.: Emulated Digital CNN- UM Implementation of a Barotropic Ocean Model. Proceeding 2004 IEEE International Joint Conference, Vol4, PP. 101-108, 2004. [7] Pardo F.,López D., Cabello D.: DT-CNN: Emulator 3D heat equation solver with application on the non – destructive soil inspection”. Proceeding of 11 th International Workshop on CNN and their Applications, (CNNA2008) PP. 11-16, 2008. [8]. Puffer F., Tetzlaff R., Wolf D. “ Modeling almost incompressible fluid flow with CNN” Proceeding of 6 th International Workshop on CNN and their Applications, (CNNA1998) PP. 78-82, 1998 [9] Thai V.D, Cat P.T.: Solving Two-Dimensional Saint venant Equation by Using Cellular Neural Network. Proceeding of the 7 th Asian Control Conference - ASCC2009, (27-29/08/2009), Hongkong, China, PP. 1258-1263. Trên website: http://IEEE.explorer.com [10] Goutal N.: Presentation of 1D and 2D simul- ations of Malpasset dam break wavepro-pagation, http:/www.hrwallingford.co.uk Vũ Đức Thái sinh năm 1964, nhận bằng Cử nhân khoa học tại ĐHSP Hà Nội 1 năm 1987. Nhận bằng Kỹ sư CNTT của trường ĐHBK Hà Nội năm 2000. Nhận bằng Thạc sĩ Khoa học máy tính năm 2002. Nhận học vị Tiến sĩ tại Viện CNTT năm 2012. Bắt đầu công tác tại trường ĐHSP thuộc ĐH Thái Nguyên năm 1987, nay đang công tác tại trường Đại học Công nghệ thông tin và Truyền thông thuộc ĐH Thái Nguyên. Bùi Văn Tùng sinh năm 1984, nhận bằng Kỹ sư CNTT của trường Đại học CNTT&TT - Đại học Thái Nguyên năm 2007. Nhận bằng Thạc sĩ chuyên ngành Điều khiển và Tự động hoá của trường ĐHBK Hà Nội năm 2012. Hiện đang công tác tại khoa Điều khiển tự động hóa, trường đại học Công nghệ thông tin và Truyền thông thuộc đại học Thái Nguyên. Pham Thuong Cat received his M.S degree in Computer Engineering from Budapest Technical University in 1972 and Ph.D. in Control Engineering from Hungarian Academy of Sciences (MTA) in 1977. From 1985 to 1988, he was a Postdoctoral Fellow at MTA SzTAKI the Research Institute of Computer and Automation of MTA and received D.Sc. degree in Robotics from Hungarian Academy of Science in 1988. He is a Honorary Research Professor in Computational Sciences of MTA SzTAKI Hungary. From 1979 he is researching and teaching PhD. Courses at the Institute of Information Technology, Vietnamese Academy of Science and Technology. D.Sc. Cat serves as Editor-in-Chief of the Journal of Computer Science and Cybernetics of Vietnamese Academy of Science and Technology. He is a Vice President of the Vietnamese Association of Mechatronics. His research interests include robotics, control theory, cellular neural networks and embedded control systems. He co-authored 4 books and published over 150 papers on national and international journals and conference proceedings. . Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 657 Mã bài: 146 Cấu hình chip CNN giải phương trình thuỷ lực hai chiều bằng công nghệ FPGA Config CNN chip solving 2D shallow. triển các mô hình phần cứng chip tính toán chuyên dụng. Báo cáo này giới thiệu phương pháp cấu hình chip Vertex 6 của Xilinx (loại XCVL240T-1FFG1156) để giải phương trình thuỷ lực hai chiều. Báo. kiến trúc chip CNN giải bài toán Mô hình toán học của mạng CNN có dạng hệ phương trình vi phân liên tục về thời gian và rời rạc về không gian rất phù hợp cho giải các hệ phương trình vi phân

Ngày đăng: 20/08/2015, 09:48

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan