Nghiên cứu giải pháp công nghệ tính toán hiệu năng cao với bộ xử lý đồ họa GPU và ứng dụng

69 42 0
Nghiên cứu giải pháp công nghệ tính toán hiệu năng cao với bộ xử lý đồ họa GPU và ứng dụng

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GIẢI PHÁP CÔNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2016 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GIẢI PHÁP CƠNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ QUANG MINH Hà Nội 2016 LỜI CAM ĐOAN Với mục đích học tập, nghiên cứu để nâng cao kiến thức trình độ chun mơn nên tơi làm luận văn cách nghiêm túc hoàn toàn trung thực Trong luận văn, tơi có sử dụng tài liệu tham khảo số tác giả Tôi nêu phần tài liệu tham khảo cuối luận văn Tôi xin cam đoan chịu trách nhiệm nội dung trung thực luận văn tốt nghiệp Thạc sĩ mình! Hà Nội, tháng 05 năm 2016 Học viên Nguyễn Đức Minh LỜI CẢM ƠN Những kiến thức luận văn kết ba năm (20132016) tơi có may mắn thầy cô giáo Trường Đại học Công Nghệ Đại học Quốc Gia Hà Nội, thầy cô giáo thầy cô giáo Trường Đại học, Viện nghiên cứu trực tiếp giảng dạy, đào tạo dìu dắt Tơi xin bày tỏ lời cảm ơn chân thành tới thầy cô giáo Bộ môn Kỹ Thuật Phần Mềm – Khoa Công nghệ thông tin – Đại học Cơng Nghệ - ĐHQG Hà Nội, Phòng đào tạo sau đại học – Đại học Công Nghệ - ĐHQG Hà Nội tạo điều kiện thuận lợi cho thời gian học tập tạitrường Tôi xin bày tỏ lòng biết ơn chân thành, lời cảm ơn sâu sắc thầy giáo TS Lê Quang Minh trực tiếp hướng dẫn, định hướng cho giải vấn đề luậnvăn Tôi xin cảm ơn anh chị em đồng nghiệp Trường ĐH Cơng Nghệ Thơng Tin & Truyền Thơng Phòng Lab khoa Điện tử - Trường ĐH Kỹ Thuật Công Nghiệp Thái Nguyên ủng hộ giúp đỡ trình thực luận văn Luận văn xin lời chia vui với người thân, đồng nghiệp, bạn bè bạn đồng môn lớp cao học K20 Hà Nội, tháng 05 năm 2016 Học viên Nguyễn Đức Minh Mục lục LỜI CAM ĐOAN _ LỜI CẢM ƠN MỞ ĐẦU DANH MỤC THUẬT NGỮ _ DANH MỤC HÌNH VẼ Chương 1.1 Tổng quan tính tốn song song _5 1.1.1 1.1.2 1.1.3 1.1.4 1.2 Tổng quan tính tốn song song GPU _ Tổng quan tính tốn song song Mơ hình máy tính song song _ Mơ hình lập trình song song 11 Nguyên lý thiết kế giải thuật song song _ 13 Tổng quan GPU 16 1.2.1 1.2.2 1.2.3 1.2.4 Lịch sử phát triển GPU _ Kiến trúc GPU Tính tốn GPU _ Môi trường phần mềm Chương 16 19 23 26 Tính tốn song song GPU CUDA 30 2.1 Giới thiệu môi trường phát triển CUDA 30 2.2 Mơi trường lập trình chế hoạt động chương trình CUDA _ 32 2.2.1 2.2.2 2.2.3 2.2.4 2.3 32 32 33 36 Lập trình ứng dụng với CUDA _ 37 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 Mơi trường lập trình Cơ chế hoạt động chương trình CUDA Mô hình lập trình _ Mơ hình nhớ CUDA mở rộng ngôn ngữ lập trình C _ Những mở rộng CUDA so với ngơn ngữ lập trìnhC _ Các biến Built-in Biên dịch với NVCC _ Ví dụ tính tốn song song bằngCUDA _ 37 38 40 41 41 Ứng dụng CUDA lĩnh vực công nghệ _ 45 2.4.1 2.4.2 CUDA cho ngành cơng nghiệp trò chơi 45 CUDA cho ứng dụng video số 46 Chương Tăng tốc độ tính toán số toán sử dụng GPU 47 3.1 Giới thiệu số toán _ 47 3.2 Biến đổi FFT GPU _ 47 3.2.1 3.2.2 3.3 Phân tích Fourier _ 47 Phép biến đổi Fourier _ 48 Phân tích biến đổi FFT GPU 48 3.3.1 3.3.2 Chương trình thử nghiệm 49 Kết thử nghiệm _ 51 3.4 Phát biên ảnh _ 52 3.4.1 3.4.2 3.4.3 3.5 Phương pháp phát biên _ 52 Thực thuật toán phát biên ảnh GPU 53 Kết thử nghiệm _ 55 Tạo ảnh sơn mài _ 56 3.5.1 3.5.2 3.5.3 Cài đặt thuật toán tạo ảnh sơn mài GPU 56 Kết thử nghiệm _ 58 Đánh giá hiệu xuất tính tốn 59 Hướng phát triển 60 Kết luận _ 61 Tài liệu tham khảo 62 MỞ ĐẦU Sự bùng nổ Internet, bùng nổ xu thiết bị kết nối (Internet of thing - IOT), bùng nổ nhu cầu thưởng sản phẩm âm đồ họa độ phân giải cao chất lượng cao, bùng nổ dịch vụ lưu trữ đám mây, dịch vụ trực tuyến, khiến cho khôi lượng liệu mà vi xử lý (CPU) phải tính tốn ngày lớn thực vượt nhanh so với phát triển tốc độ CPU Không người muốn có nhiều thơng tin hơn, thơng tin phải tốt lại muốn tốc độ xử lý phải nhanh hơn, điều làm cho nhu cầu tính tốn lĩnh vực khoa học, cơng nghệ trở thành thách thức lớn Từ giải pháp nhằm tăng tốc độ tính toán đời Từ năm 2001 đến 2003 tốc độ Pentium tăng gấp đôi từ 1.5GHz lên đến 3GHz Tuy nhiên hiệu CPU không tăng tương xứng mức gia tăng xung nhịp CPU việc tăng xung nhịp đạt tới giới hạn cơng nghệ Cụ thể tính đến 2005 xung nhịp Pentium tăng lên 3.8GHz Việc tăng xung nhịp CPU dẫn đến việc tăng nhiệt độ làm việc CPU Các công nghệ làm mát khơng đáp ứng bề mặt tiếp xúc CPU ngày nhỏ Trước tình hình nhà nghiên cứu vi xử lý chuyển sang hướng phát triển công nghệ đa lõi nhằm song song hóa q trình tính tốn để tăng tốc độ tiết kiệm điện Một công nghệ đa lõi xử lý song song đời xử lý đồ họa GPU (Graphic Processing Unit) GPU ban đầu đời phục vụ cho mục đích xử lý đồ họa, ngành cơng nghiệp Game Tuy nhiên ngày với công nghệ CUDA phát triển hãng NVIDIA từ năm 2007 cho phép thực tính tốn song song với phép tính phức tạp dấu chấm động Với hiệu suất ngàn lệnh thời điểm Chính xu hướng nghiên cứu đời phát triển thuật toán song song thực GPU Với CUDA lập trình viên nhanh chóng phát triển ứng dụng tính tốn song song cho nhiều ứng dụng khác như: Điện tốn, xếp, tìm kiếm, xử lý tín hiệu số, ảnh,… Việc nghiêp cứu áp dụng CUDA để tăng tốc độ tính tốn cho tốn mà cần phải xử lý khối liệu đầu vào khổng lồ tốn u cầu tính thời gian thực thực trở thành vấn đề cấp thiết thực tế Xuất phát từ cầu mà tơi chọn đề tài: NGHIÊN CỨU GiẢI PHÁP CƠNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Luận văn gồm chương chính: Chương 1: Tổng quan tính tốn song song GPU, chương giới thiệu kiến thức tổng quan tính tốn song song, từ tìm hiểu kiến thức xử lý đồ họa GPU cách thức ứng dụng tính tốn Chương 2: Tính tốn song song GPU CUDA Chương cung cấp kiến thức mơi trường lập trình, ngơn ngữ lập trình, cách thiết lập chương trình dẫn hiệu cài đặt ứng dụng tính tốn GPU Chương 3:Tăng tốc độ tính tốn số tốn sử dụng GPU Trên cở kiến thức trình bày chương trên, tác giả luận văn tiến hành cài đặt thử nghiệm mô tốn CPU GPU Từ có so sánh, nhận xét lực tính tốn vượt trội GPU so với CPU truyền thống DANH MỤC THUẬT NGỮ Tiếng Anh Tiếng Việt API Application Program Interface: API định nghĩa giao diện chuẩn để triệu gọi tập chức 2coproccessor đồng xử lý 3gpgpu tính tốn thơng dụng GPU 4GPU Bộ xử lý đồ họa 5kernel hạt nhân 6MIMD Multiple Instruction Multiple Data: đa lệnh đa liệu 7primary surface Bề mặt chính, khái niệm dùng kết cấu 8proccessor Bộ xử lý 9Rasterization Sự quét mành hình 1SIMD Single Instruction Multiple Data: đơn lệnh đa liệu 1stream 1streaming processor 1texture Dòng 1texture fetches 1texture reference 1warp Hàm đọc kết cấu Bộ xử lý dòng Kết cấu: cấu trúc đối tượng, xem mơ hình thu nhỏ đốitượng Tham chiếu kết cấu Mỗi khối tách thành nhóm SIMD luồng DANH MỤC HÌNH VẼ Hình 1.1 Mơ tả kiến trúc Von Neumann Hình 1.2 Máy tính song song có nhớ chia sẻ Hình 1.3 Máy tính song song có nhớ phân tán Hình 1.4 Mơ hình kiến trúc máy SISD 10 Hình 1.5 Mơ hình kiến trúc máy SIMD 10 Hình 1.6 Mơ hình kiến trúc máy MISD 11 Hình 1.7 Mơ hình kiến trúc máy MIMD 11 Hình 1.8 Mơ hình lập trình trun thơng hai tác vụ hai máy tính 13 Hình 1.9 Mơ hình lập trình song song liệu 13 Hình 1.10 Ảnh chụp 3dfx Voodoo3 17 Hình 1.11 Kiến trúc GPU NVIDIA AMD có lượng đồ sộ đơn vị lập trình tổ chức song song thống 23 Hình 2.1 Kiến trúc phần mềm CUDA 30 Hình 2.2 Các thao tác thu hồi cấp phát nhớ 31 Hình 2.3 Vùng nhớ dùng chung mang liệu gần ALU 32 Hình 2.4 Sơ đồ hoạt động truyền liệu Host Device 33 Hình 2.5 Khối luồng 35 Hình 2.6 Mơ hình nhớ GPU 36 Hình 2.7 lưới khối với số khối luồng 41 Hình 2.8 Phương pháp đánh số luồng 44 49 phần tử ta tính tốn song song lúc L giá trị mảng (nghĩa tính tốn L giá trị f(t) X(K) lúc) Copy toàn mảng khai bao vào nhớ RAM GPU Sử dựng thư viện hàm CUDA thực phép tính (*,/,sin,cos) công thức Copy giá trị ngược lại nhớ RAM máy tính = > thu kết 3.3.1 Chương trình thử nghiệm Chương trình sau gồm bước Tạo tín hiệu với T mẫu (T=numSamples) tổ hợp n thành phần tuần hồn (n=freq) có tần số i*20 với i=1 n Thực phép biến đổi FFT tín hiệu bước Mã nguồn GPU kết hợp Matlab %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % clearall sampleFreq = 1000; sampleTime = 1/sampleFreq; numSamples = 2^23; timeVec = gpuArray( (0:numSamples-1) * sampleTime ); freq=128 tic signal=0; for i=1:freq signal=signal + sin(i*20 * timeVec); end transformedSignal = fft( signal ); powerSpectrum = transformedSignal * conj(transformedSignal) / numSamples; frequencyVector = sampleFreq/2 * linspace( 0, 1, numSamples/2 + ); plot( frequencyVector, real(powerSpectrum(1:numSamples/2+1)) ); toc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Chương trình sử dụng CPU: 50 clear all sampleFreq = 1000; sampleTime = 1/sampleFreq; numSamples = 2^10; timeVec = (0:numSamples-1) * sampleTime ; freq1 = * pi * 50; freq2 = * pi * 120; tic signal=0; for i=1:32 signal=signal + sin(i*20 * timeVec); end figure;plot(timeVec,signal); transformedSignal = fft( signal ); transformedSignal = fft( signal ); powerSpectrum = transformedSignal * conj(transformedSignal) / numSamples; frequencyVector = sampleFreq/2 * linspace( 0, 1, numSamples/2 + ); figure;plot( frequencyVector, real(powerSpectrum(1:numSamples/2+1)) ); toc 51 3.3.2 Kết thử nghiệm 3.3.2.1 Dữ liệu Mẫu tín hiệu vào với 32 thành phần song hài Phổ tín hiệu sau áp dụng phép biến đổi FFT 52 3.3.2.2 Đánh giá hiệu suất tính tốn Tần số lấy mẫu (Hz) 1000 Số mẫu Số thành phần tần số Thời gian tính tốn CPU Corei5 (4 cores), đơn vị giây Thời gian tính tốn GPU (Quadro 600, 99 cores), đơn vị giây 223 0.61 0.34 0.72 0.62 0.97 0.52 16 3.15 0.66 32 9.3 0.94 64 22.1 2.51 128 47.2 3.7 Nhìn vào ta thấy số thành phần tần số sai khác mặt thời gian xử lý CPU GPU không nhiều Nhưng số thành phần tần số tăng lên đến 128 tốc độ xử lý có khác biệt lớn 47.2 giây xử lý CPU có 3.7 giây xử lý GPU.Hiệu suất tính tốn thay đổi đáng kể 3.4 Phát biên ảnh 3.4.1 Phương pháp phát biên Xử lý ảnh lĩnh vực nghiên cứu từ lâu, với nhiều kỹ thuật thuật áp dụng thực tế.Ngày với phát triển vượt bậc mặt công nghệ, camera cho độ nét phân giải cao nhiều.Điều đồng nghĩa với việc xử lý phải tiêu tốn nhiều hiệu suất để xử lý ảnh có kích thước lớn.Việc dẫn tình trạng làm giảm tốc độ xử lý, khiến cho hệ thống đáp ứng yêu cầu thời gian thưc Ví dụ nhiệm vụ máy bay trinh thám chụp ảnh phát đối tượng khả nghi hành trình bay Máy bay phải liên tục chụp ảnh với kích thước độ phân giải cao, xử lý nhận dạng báo cáo thông tin trung tâm điều khiển Do máy bay thực việc chụp ảnh xử lý trình bay nên việc tăng tốc độ tính tốn để đảm bảo 53 tính thời gian thực vấn đề cấp thiết Vì việc nghiên cứu phát triển phương pháp nâng cao tốc độ tính tốn xử ảnh nhà khoa học không ngừng nghiên cứu.Trong trình nhận ảnh, nhận dạng tìm kiếm đối tượng ảnh việc phân tích xác định biên đối tượng ảnh khâu tiền xử lý quan trọng ban đầu thực để khoảng vùng đói tượng Trong phạm vi luận văn trình bày cách thức đă thuật tốn phát biên ảnh chạy GPU để tăng tốc độ tính tốn Thuật tốn phát biên sử dụng Laplaciantrong ảnh phát biểu tổng quan sau: Mỗi điểm ảnh L(x,y) xác định công thức (3.4) 𝐿(𝑥, 𝑦) = 𝛿2𝐼 𝛿2𝐼 𝛿𝑥 𝛿𝑦 + (3.4) 3.4.2 Thực thuật toán phát biên ảnh GPU Từ công thức (3.4) cho thấy giá trị điểm ảnh ảnh kết xác định mà không phụ thuộc vào giá trị điểm lân cận ảnh kết Do việc việc tính tốn thực cách song song GPU chuỷen toàn ảnh đầu vào ảnh tính tốn L(x,y) sang RAM GPU Sau phần tử mảng (x,y) gọi hàm tính tốn L(x,y) với lõi CUDA cảu GPU Chương trình tính tốn phát biên GPU sau: clear all cdata=imread('2000px.jpg'); tic if length(size(cdata))>2 % anh mau, can chuyen ve anh da cap xam cdata=gpuArray(rgb2gray(cdata)); end cdata=double(cdata)/255; % chuyen sang kieu double gaussSigma = 0.1; edgePhobia=0.1; dx = cdata(2:end-1,3:end) - cdata(2:end-1,1:end-2); dy = cdata(3:end,2:end-1) - cdata(1:end-2,2:end-1); dx2 = dx.*dx; dy2 = dy.*dy; dxy = dx.*dy; gaussHalfWidth = max( 1, ceil( 2*gaussSigma ) ); ssq = gaussSigma^2; t = -gaussHalfWidth : gaussHalfWidth; 54 gaussianKernel1D = exp(-(t.*t)/(2*ssq))/(2*pi*ssq); % The Gaussian 1D filter gaussianKernel1D = gaussianKernel1D / sum(gaussianKernel1D); smooth_dx2 = conv2( gaussianKernel1D, gaussianKernel1D, dx2, 'valid' ); smooth_dy2 = conv2( gaussianKernel1D, gaussianKernel1D, dy2, 'valid' ); smooth_dxy = conv2( gaussianKernel1D, gaussianKernel1D, dxy, 'valid' ); det = smooth_dx2 * smooth_dy2 - smooth_dxy * smooth_dxy; trace = smooth_dx2 + smooth_dy2; score = det - 0.25*edgePhobia*(trace.*trace); toc figure;imshow(trace); Chương trình sử dụng CPU: cdata=imread('2000px.jpg'); tic if length(size(cdata))>2 % anh mau, can chuyen ve anh da cap xam cdata=rgb2gray(cdata); end cdata=double(cdata)/255; % chuyen sang kieu double gaussSigma = 0.5; edgePhobia=0.5; dx = cdata(2:end-1,3:end) - cdata(2:end-1,1:end-2); dy = cdata(3:end,2:end-1) - cdata(1:end-2,2:end-1); dx2 = dx.*dx; dy2 = dy.*dy; dxy = dx.*dy; gaussHalfWidth = max( 1, ceil( 2*gaussSigma ) ); ssq = gaussSigma^2; t = -gaussHalfWidth : gaussHalfWidth; gaussianKernel1D = exp(-(t.*t)/(2*ssq))/(2*pi*ssq); % The Gaussian 1D filter gaussianKernel1D = gaussianKernel1D / sum(gaussianKernel1D); smooth_dx2 = conv2( gaussianKernel1D, gaussianKernel1D, dx2, 'valid' ); smooth_dy2 = conv2( gaussianKernel1D, gaussianKernel1D, dy2, 'valid' ); smooth_dxy = conv2( gaussianKernel1D, gaussianKernel1D, dxy, 'valid' ); det = smooth_dx2 * smooth_dy2 - smooth_dxy * smooth_dxy; trace = smooth_dx2 + smooth_dy2; score = det - 0.25*edgePhobia*(trace.*trace); toc 55 figure;imshow(trace); 3.4.3 Kết thử nghiệm Ảnh đầu vào: Ảnh đầu sau phát biên: 56 3.1.1 Đánh giá hiệu xuất tính tốn Luận văn tiến hành thử nghiệm với ảnh có nội dung phần 3.3.3, kích thước ảnh thay đổi thử nghiệm sau chạy thuật tốn GPU CPU máy tính để đo thời gian tính tốn Kết thử nghiệm sau: Kích thước ảnh thời gian tính tốn CPU (4 cores) thời gian tính tốn GPU (99 cores) 2000x1385 0,169 0,087 4000x1385 1,369 0,949 8000x2770 3,078 1,901 3.5 Tạo ảnh sơn mài 3.5.1 Cài đặt thuật toán tạo ảnh sơn mài GPU Thử nghiệm luận văn tiến hành cài đặt thuật toán tạo ảnh sơn mài từ ảnh chụp Đây thuật tốn biến đổi ảnh với phép tính nhận chập ma trận Phép nhận chập kỹ thuật sử dung hầu hết kỹ thuật xử lý ảnh số Chương trình tạo ảnh sơn mài sau: 57  Chương trình sử dụng GPU function out = canvasEffect(im) % Filter the image with a Gaussian kernel h = fspecial('gaussian'); imf = imfilter(im,h); % Increase image contrast for each color channel ima = cat( 3, imadjust(imf(:,:,1)), imadjust(imf(:,:,2)), imadjust(im(:,:,3)) ); % Perform a morphological closing on the image with a 11x11 structuring % element se = strel('disk',9); out = imopen(ima,se); clear all anhvao=imread('city2.jpg'); figure;imshow(anhvao); tic tmp=gpuArray(anhvao); anhra=canvasEffect(tmp); figure;imshow(anhra); toc  Chương trình sử dụng CPU function out = canvasEffect(im) % Filter the image with a Gaussian kernel h = fspecial('gaussian'); imf = imfilter(im,h); % Increase image contrast for each color channel ima = cat( 3, imadjust(imf(:,:,1)), imadjust(imf(:,:,2)), imadjust(im(:,:,3)) ); % Perform a morphological closing on the image with a 11x11 structuring % element se = strel('disk',9); out = imopen(ima,se); clear all 58 anhvao=imread('city2.jpg'); figure;imshow(anhvao); tic anhra=canvasEffect(anhvao); figure;imshow(anhra); toc 3.5.2 Kết thử nghiệm Ảnh vào: Ảnh ra: 59 3.5.3 Đánh giá hiệu xuất tính tốn Để đánh giá hiệu thuật tính tốn GPU CPU, luận van tiến hành thay đổi kích thước ảnh đầu vào chạy chương trình GPU CPU máy tính Kết thời gian tính tốn sau: Kích thước ảnh Thời gian tính tốn CPU (4 cores) Thời gian tính tốn GPU (99 cores) 5184x3456 8,17 2,69 2592x1728 2,16 0,9 1296x864 0,76 0,48 60 Hướng phát triển Qua thử nghiệm cho thấy toán liệu lớn, yêu cầu phép toán số dấu phẩy động việc thực GPU cho tốc độ tính tốn nhanh nhiều lần so với thực CPU.Ngày với bùng nổ mạng internet đặc biệt liệu online kích thước liệu lại ngày trở nên khổng lồ, thực tải sử dụng CPU.Việc nghiên cứu cài đặt thuật toán nhiều GPU cầu cần thiết cấp bách Trong thực tế công ty lớn Google hay Amazon công bố công cụ huấn luyện cài đặt mạng nơron học sâu (Deep Learning NN) chạy GPU Các nghiên cứu công bố thay đổi tạo hướng việc sử dụng mạng Nơron lĩnh vực xử lý, nhận dạng, học máy.Trong tương lại tác giả tiếp tục nghiên cứu phát triển cài đặt thuật tốn, phương pháp xử lý tín hiếu số, ảnh áp dụng mạng Nơron tảng GPU 61 Kết luận Luận văn nghiên cứu tổng quan tính tốn song song, điều kiện cần để phát triển ứng dụng GPU cho mục đích thơng dụng Tác giả luận văn tìm hiểu chế hoạt động GPU kiến trúc bên nó, mơ hình lập trình GPU Trong chương luận văn tìm hiểu cơng cụ lập trình GPU phổ biến CUDA Tác giả luận văn trình bày chi tiết mơ hình lập trình, thiết lập phần cứng card đồ họa Nvidia, giao diện lập trình dẫn hiệu chạy ứng dụng card đồhọa.Từ hiệu biết trên, tác giả thực thử nghiệm lực tính tốn GPU so sánh với CPU để kiểm chứng điều mà lý thuyết nói Các kết thử nghiệm trình bày chi tiết chương luận văn Với kết đạt được, tác giả mong muốn có nghiên cứu cải tiến hiệu phát triển cài đặt thuật tốn, phương pháp xử lý tín hiếu số, ảnh áp dụng mạng Nơron tảng GPU 62 Tài liệu tham khảo Tài liệu tiếng việt [1] Trương Văn Hiệu (2011), “Nghiên cứu giải thuật song song hệ thống xử lý đồ họa GPU đa lõi”, luận văn thạc sĩ, trường Đại học Đà Nẵng [2] Nguyễn Việt Đức – Nguyễn Nam Giang (2012), ”Xây dựng thuật tốn song song tìm đường ngắn với CUDA”, luận văn thạc sỹ, trường Đại học Cơng nghệ Hồ Chí Minh [3] Nguyễn Thị Thùy Linh (2009), “Tính tốn hiệu cao với xử lý đồ họa GPU ứng dụng”, luận văn thạc sĩ, trường Đại học Công nghệ Hà Nội Tài liệu tiếng anh [4] Jason Sanders, Edward Kandrot, “CUDA by example”, an introduction to GeneralPurpose GPU programming [5] Maciej Matyka, “GPGPU programming on example of CUDA”, Institute of Theoretical Physics University of Wroclaw [6] NVIDIA, “High performance computing with CUDA”, Users Group Conference San Diego, CA June 15, 2009 [7] N K Govindaraju, B Lloyd, W Wang, M Lin, and D Manocha, “Fast computation of database operations using graphics processors,” in Proceedings of the 2004 ACM SIGMOD International Conference on Management of Data, Jun 2004, pp 215–226 [8] "N K Govindaraju, M Henson, M C Lin, and D Manocha, “Interactive visibility ordering of geometric primitives in complex environments,” in Proceedings of the 2005 Symposium on Interactive 3D Graphics and Games, Apr 2005, pp 49– 56." [9] Bustos, O Deussen, S Hiller, and D Keim, “A graphics hardware accelerated algorithm for nearest neighbor search,” in Proceedings of the 6th International Conference on Computational Science, ser Lecture Notes in Computer Science Springer, May 2006, vol 3994, pp 196– 199 [10] Blythe, “The Direct3D 10 system,” ACM Transactions on Graphics, vol 25, no 3, pp 724–734, Aug 2006 [11] Horn, “Stream reduction operations for GPGPU applications,” in GPU Gems 2, M Pharr, Ed Addison Wesley, Mar 2005, ch 36, pp 573–589 [12] Tarditi, S Puri, and J Oglesby, “Accelerator: Using data-parallelism to program GPUs for general-purpose uses,” in Proceedings of the Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems, Oct 2006, pp 325–335 63 Tài liệu mạng [13] PADE, http://math.nist.gov/mcsd/savg/pade/ [14] P-GRADE, http://www.lpds.sztaki.hu/pgrade/ [15] wikipedia http://en.wikipedia.org/wiki/Graphics_processing_unit [16] http://gpgpu.org/ [17] http://ati.amd.com/technology/streamcomputing/gpgpu_history.html (GPGPU history from AMD) [18] http://gpgpu.org/oldsite/data/history.shtml [19] http://www.techradar.com/news/computing-components/processors/world-sfastest-cpu-clocked-at-128-gigaflops-599433 [20] http://www.tomshardware.com/reviews/nvidia-cuda-gpu,1954-2.html [21] http://www.vizworld.com/2009/06/nvidia-and-pgi-partner-to-bring-cuda-tofortran/ [22] http://penstarsys.com/previews/graphics/nvidia/tesla/tesla_2.htm [23] http://www.tomshardware.com/news/Tesla-C1060-S1070,5672.html [24] http://hothardware.com/News/NVIDIA-Unveils-Next-Generation-Fermi-GPUArchitecture/ ... QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐỨC MINH NGHIÊN CỨU GIẢI PHÁP CÔNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU VÀ ỨNG DỤNG Ngành: Công nghệ thông tin Chuyên ngành: Kỹ... điện Một công nghệ đa lõi xử lý song song đời xử lý đồ họa GPU (Graphic Processing Unit) GPU ban đầu đời phục vụ cho mục đích xử lý đồ họa, ngành công nghiệp Game Tuy nhiên ngày với công nghệ CUDA... vào khổng lồ tốn u cầu tính thời gian thực thực trở thành vấn đề cấp thiết thực tế Xuất phát từ cầu mà chọn đề tài: NGHIÊN CỨU GiẢI PHÁP CƠNG NGHỆ TÍNH TỐN HIỆU NĂNG CAO VỚI BỘ XỬ LÝ ĐỒ HỌA GPU

Ngày đăng: 09/03/2020, 18:24

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

Tài liệu liên quan