| | Vietscholar forum | | 
03-02-2010
|  | Chuyên gia ban nick | | Tham gia ngày: Apr 2009
Bài gởi: 1,210
Thanks: 340 Thanked 319 Times in 207 Posts Downloads: 0 Uploads: 0 | | Chia sẻ kinh nghiệm: CUDA programming | | I thank SpringerCV for this original paper: | | 
03-02-2010
|  | Trusted member | | Tham gia ngày: Feb 2010
Bài gởi: 76
Thanks: 16 Thanked 43 Times in 23 Posts Downloads: 0 Uploads: 0 | |
thay đổi nội dung bởi: Hello, 03-02-2010 lúc 12:27 PM | 
03-02-2010
|  | Chuyên gia ban nick | | Tham gia ngày: Apr 2009
Bài gởi: 1,210
Thanks: 340 Thanked 319 Times in 207 Posts Downloads: 0 Uploads: 0 | | Ở đây bọn nó rất tỉ mỉ về các chi tiết kỹ thuật và cũng định hướng industry cao cho nên implementation là rất quan trọng. Ứng dụng của mấy kỹ thuật này rất nhiều, có từ Bio, Bioinformatics đến Computer Vision/Graphics và cả Finance nữa. Thử hình dung một algorithm trên CV phải duyệt qua vài trăm K pixel data tuần tự, nếu chuyển sang xử lý song song đồng loạt thì sẽ thế nào? Để train một hệ thống qua video chẳng hạn, GPU có thể xử lý vài trăm frames per seconds trong khi tốc độ ở CPU là vài fps, hiệu quả là quá xứng đáng để đầu tư công sức.
Cái anh làm không phải là medical IP, ở đây có 1 nhóm khác chuyên làm về mảng ấy rồi. Hội chỗ em làm research về nó, còn anh thì chỉ sử dụng cho mục đích của anh thôi. Interface chính của nó là C, link với kernel function của CUDA system trong file .cu, ngoài ra cũng có thể viết chung với C++ hay python,... | 
03-02-2010
|  | Trusted member | | Tham gia ngày: Jul 2009
Bài gởi: 3
Thanks: 1 Thanked 1 Time in 1 Post Downloads: 0 Uploads: 0 | |
thay đổi nội dung bởi: dungcan88, 03-02-2010 lúc 11:45 PM | | I thank dungcan88 for this original paper: | | 
03-02-2010
|  | TM tay to | | Tham gia ngày: Jun 2009 Đến từ: Stony Brook
Bài gởi: 1,675
Thanks: 118 Thanked 458 Times in 287 Posts Downloads: 1 Uploads: 1 | | Em không biết gì về CUDA nhưng cái software mà lab đang dùng cũng sắp dùng GPU, thấy bảo much faster hơn thằng CPU. Em post cái này để cổ vũ anh em và đứng nhìn. Evil]. Cái này khá interesting vì nếu bình thường em mất khoảng nửa tháng chạy chương trình simulation thì chắc bây giờ chỉ cần một ngày nếu có cái này. Chắc năm năm tới không ai dùng CPU nữa hả các bác
__________________ Không có gì quí hơn độc lập tự do. Tốt nhất là không lấy vợ.
thay đổi nội dung bởi: haichit., 03-02-2010 lúc 11:28 PM | 
03-03-2010
|  | Chuyên gia ban nick | | Tham gia ngày: Apr 2009
Bài gởi: 1,210
Thanks: 340 Thanked 319 Times in 207 Posts Downloads: 0 Uploads: 0 | | Cũng không tới mức đó đâu haichit vì không phải cái gì cũng cứ chia nhỏ, phân đều là tính toán sẽ nhanh hơn . Có nhiều thuật toán mà GPU sẽ không nhanh hơn CPU, ví dụ như nhân ma trận thì có thể tách các dòng và cột của 2 mt input để tính đồng thời còn các thao tác logic theo chuỗi, bước này phụ thuộc vào kết quả của bước kia thì dù gì cũng vẫn phải tính toán tuần tự thôi. Có thể hình dung như là làm vườn với leo núi ấy, một bên nhiều người thì nhanh, một bên thì người càng khỏe thì leo càng cao .
Hiện nay các chương trình vẫn mix cả hai loại, thường là phải tìm các công đoạn xử lý với dữ liệu lớn với nhiều hạng mục và phép toán độc lập để tính bằng GPU, phần còn lại thì vẫn sử dụng CPU. Thế nhưng có thể nói, đây là future of computing. | 
03-16-2010
|  | Thành viên dự bị | | Tham gia ngày: Mar 2010
Bài gởi: 2
Thanks: 1 Thanked 1 Time in 1 Post Downloads: 0 Uploads: 0 | | Ưu điểm lớn nhất của CUDA đó chính là có rất nhiều chip để tính toán dữ liệu. Chính vì thế mà trong trường hợp tốt nhất thì GPU có thể chạy nhanh hơn CPU cả trăm lần. Tuy nhiên, hạn chế lớn nhất của nó chính là bộ nhớ cho các thread (local memory). Thực ra thì cả bộ nhớ cho GPU cũng khá lớn (512Mb đến cả Gb) nhưng đó là global memory. Nếu truy xuất global memory thì khá lâu, thường chậm như truy cập trên ram (mất khoảng vài trăm us). Thế nên cái khó nhất vẫn là sử dụng local memory cho hiệu quả.
Như bác SpringerCV nói thì không phải lúc nào cũng chuyển từ CPU sang GPU một cách dễ dàng được. VD như bài toán nhân ma trận khi chạy trên GPU thì người ta chia ma trận thành từng block nhỏ rồi phân cho các thread để nhân các block này. Kích thước block thì phụ thuộc vào memory của từng GPU nữa. Thế nên mọi việc không phải là dễ ! Chưa kể là dùng CUDA phức tạp hơn rất nhiều so với dùng các ngôn ngữ song song khác và nó cũng rất buggy.
Hồi trước em có đọc một cái paper người ta làm automatic translation từ OpenMP (một ngôn ngữ lập trình song song rất phổ biến) sang CUDA. Nhưng mà hình như họ không release sỏurce code nên không biết nó tốt đến đâu. | | I thank cs_nerd for this original paper: | | 
05-31-2010
|  | Thành viên dự bị | | Tham gia ngày: May 2010
Bài gởi: 2
Thanks: 0 Thanked 0 Times in 0 Posts Downloads: 0 Uploads: 0 | | | Trích: | |  | | | | | | | | Hi, mình cũng rất quan tâm chủ đề này, mà sao trên trang web của bài báo trên chỉ có source code bằng opencv & matlab thôi vậy, mình ko tìm thấy implement bằng CUDA, help mình với.
Sằn cho mình hỏi, có tutorial nào hướng dẩn implement các thuật toán cv bằng CUDA C ko vậy, vd như load ảnh lên, tính histogram chẳng hạn...
mình muốn bắt đầu từ cơ bản... thanks mọi người nhiều
thay đổi nội dung bởi: eminent_stuff, 05-31-2010 lúc 12:35 PM | 
02-21-2011
|  | Chuyên gia ban nick | | Tham gia ngày: Apr 2009
Bài gởi: 1,210
Thanks: 340 Thanked 319 Times in 207 Posts Downloads: 0 Uploads: 0 | | Ðề: Chia sẻ kinh nghiệm: CUDA programming
__________________ Stay hungry, never foolish - Hãy cứ khát khao, nhưng chớ dại khờ | Latex Maths & Physics Editor ...
| | | |
Ðang đọc: 1 (0 thành viên và 1 khách) | | | | Ðiều Chỉnh | Kiếm Trong Bài | | | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML đang Tắt | | | | |