Hướng dẫn lập trình trên

Slides:



Advertisements
Các bản thuyết trình tương tự
Teen Challenge Staff Training Course
Advertisements

PHÂN TÍCH THIẾT KẾ HỆ THỐNG
“ Dạy học Toán theo hướng phát triển năng lực của học sinh Tiểu học”
Chương 1 Tổng quan về ngân hàng thương mại
PHÒNG TÀI NGUYÊN VÀ MÔI TRƯỜNG CÁC CÔNG TÁC BẢO VỆ MÔI TRƯỜNG
CÂU LỆNH MẶC ĐỊNH MENU MÃ LỆNH M VÍ DỤ THAO TÁC TẠO PROGRAM
ThS. Phạm Đức Thành Lập trình trên Windows ThS. Phạm Đức Thành
GIỚI THIỆU Khung khổ quốc tế và Hướng dẫn quốc gia về Khu công nghiệp sinh thái Hà Nội, 30 và 31/5/2018.
Mixdeck Express MIXDECK EXPRESS MKII
HƯỚNG DẪN THEO DÕI VÀ XỬ TRÍ PHẢN ỨNG SAU TIÊM CHỦNG
KiỂM TRA BÀI CŨ Bài 1: Hãy nêu vị trí, ký hiệu, CHe của Oxi.Hoàn thành các phản ứng O2 + Fe → O2 + S→ O2 + NO→ Bài 2: Xác định số oxi hóa của Oxi: FeO,
Kiểm thử và đảm bảo chất lượng phần mềm
Chương 3 Exception.
Lý thuyết chung về tài chính
Kiểm thử và Đảm bảo Chất lượng Phần mềm
Lê Tân Bộ môn: Lập trình máy tính
Thứ Tư Thánh I-si-đo-rô
Chương 3 – Các kỹ thuật gỡ lỗi và kiểm thử chương trình
Chương 7 INTERFACE.
Giới thiệu môn học.
Tọa đàm định hướng KHCN của Trường ĐHNN-ĐHQGHN giai đoạn
GIẢI XUẤT SẮC CẤP TRƯỜNG NĂM 2019
Thêm tiêu đề Thêm tiêu đề L/O/G/O.
Hướng dẫn sử dụng hệ thống họp trực tuyến của Bộ GD&ĐT
ĐỀ CƯƠNG Phương pháp luận nghiên cứu khoa học (Methodology of Scientific Research) PGS.TS. Phạm Văn Hiền
Chia sẻ kinh nghiệm công bố quốc tế
Ôn tập struct và bộ nhớ động Linked Lists
Bác sĩ lâm sàng khám và xử trí bướu giáp nhân: dùng TIRADS ra sao?
Class & Struct II Lập trình nâng cao.
Con trỏ Lập trình nâng cao
ĐỌC VÀ HIỂU NHÃN THỰC PHẨM
Điều khiển LED và Động cơ DC
Bài 3: Ngôn ngữ lập trình C#
Chương 02 CẤU TRÚC VÀ CÁC THÀNH PHẦN CHƯƠNG TRÌNH C/C++
Chương 5 ỨNG DỤNG CSDL VÀ ADO.NET.
Hội Thánh Khỏe Mạnh Be A Healthy Church
Bài 1: giới thiệu C# và .NET framework
KỸ NĂNG TÌM KIẾM & ĐÁNH GIÁ THÔNG TIN TRÊN INTERNET
Chương 06 KIỂU DỮ LIỆU NGƯỜI LẬP TRÌNH ĐỊNH NGHĨA
Automata hữu hạn & Biểu thức chính quy
Hiểu Biết về Kết Quả SBAC CAASPP – California Assessment of Student Performance and Progress (Đánh Giá của California về Thành Quả và Tiến.
Chương 7 Crystal Report.
YÊU CẦU ĐẶT RA Tôi có một số đoạn phim / hình ảnh (vừa quay / chụp được hoặc sưu tầm được,…), tôi muốn lắp ghép nó để trở thành một đoạn phim trình.
KIỂM TRA BÀI CŨ Trình bày những khả năng to lớn của máy tính đã làm cho nó trở thành một công cụ xử lý thông tin hữu hiệu ? Khả năng tính toán nhanh.
VUI HỌC KINH THÁNH-GIÁO LÝ
SỬ DỤNG LỆNH LẶP WHILE...DO
Line Clipping in 2D Xén đường thẳng trong 2D
Chương 03 TỔ CHỨC DỮ LIỆU TRONG CHƯƠNG TRÌNH
Chuyên đề : Web Design Bộ môn KTMT – Viện CNTT&TT
BÀI TẬP THỰC HÀNH 3 SỬ DỤNG LỆNH LẶP FOR...DO.
Cài đặt và thiết lập DNS cho Domain
NHẬP MÔN LẬP TRÌNH MẢNG MỘT CHIỀU.
HỆ THỐNG QUẢNG CÁO ĐIỆN TỬ
Trainer: Bạch Ngọc Toàn Phát hành bởi: TEDU –
CHUYÊN ĐỀ CÔNG TÁC SÁNG KIẾN KINH NGHIỆM
MÔN HỌC: NHẬP MÔN VỄ KỸ THUẬT CHƯƠNG 7: KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ
Dị Ứng Thuốc Mà Không Uống Thuốc
GIẢI XUẤT SẮC CẤP TRƯỜNG NĂM 2018
Wireless Communications Principles and Practice
Hệ thống IO (Input Output System)
Phát triển công tác xã hội ở Việt Nam
PHÁP LUẬT VỀ HẢI QUAN BÀI GIẢNG Người trình bày: Ths: Nguyễn Mạnh Hảo
Hàm Lập trình nâng cao.
Bản ghi của bản thuyết trình:

Hướng dẫn lập trình trên framework CUDA

Lập trình với Nvidia CUDA Cấu trúc phần cứng Nvidia GPU Gồm nhiều processor được tổ chức thành các đơn vị multiprocessor Sử dụng bộ nhớ chung global memory cho tất cả multiprocessors

Lập trình với Nvidia CUDA Phù hợp với bài toán có khả năng song song dữ liệu cao. Sử dụng mô hình lập trình và quản lý threads. Hỗ trợ tốt tương tác giữa các process

Lập trình với Nvidia CUDA Công cụ hỗ trợ lập trình Sử dụng ngôn ngữ C/C++ CUDA Toolkit và CUDA Library được cung cấp bởi NVIDIA với những thư viện và hàm đã được hiện thực để hỗ trợ cho việc giao tiếp với GPU Hỗ trợ trên nhiều nền tảng OS, vd: window, linux,… Người lập trình không cần biết nhiều về cấu trúc phần cứng

Lập trình với Nvidia CUDA Các threads được chia thành các block và grid cho phù hợp với kiến trúc phần cứng

Lập trình với Nvidia CUDA Dữ liệu cần xử lý được đưa vào bộ nhớ của GPU

Lập trình với Nvidia CUDA Chương trình chính chạy trên CPU gọi hàm thực thi trên GPU Các threads cùng xử lý công việc trên dữ liệu chung

Lập trình với Nvidia CUDA Kết quả được trả về lại bộ nhớ cho chương trình chính

Bài toán cộng hai vector Giải thuật thông thường: cộng tuần tự các phần tử tương ứng để ra được kết quả Giải thuật song song: tính toán đồng thời các phần tử của vector kết quả

Bài toán cộng hai vector #define N (2048*2048) #define THREADS_PER_BLOCK 512 int main(void) { int *a, *b, *c; // host copies of a, b, c int *d_a, *d_b, *d_c; // device copies of a, b, c int size = N * sizeof(int); // Alloc space for device copies of a, b, c cudaMalloc((void **)&d_a, size); cudaMalloc((void **)&d_b, size); cudaMalloc((void **)&d_c, size); // Alloc space for host copies of a, b, c and setup input values a = (int *)malloc(size); random_ints(a, N); b = (int *)malloc(size); random_ints(b, N); c = (int *)malloc(size);

Bài toán cộng hai vector // Copy inputs to device cudaMemcpy(d_a, a, size, cudaMemcpyHostToDevice); cudaMemcpy(d_b, b, size, cudaMemcpyHostToDevice); // Launch add() kernel on GPU add<<<N/THREADS_PER_BLOCK,THREADS_PER_BLOCK>>>(d_a, d_b, d_c); // Copy result back to host cudaMemcpy(c, d_c, size, cudaMemcpyDeviceToHost); // Cleanup free(a); free(b); free(c); cudaFree(d_a); cudaFree(d_b); cudaFree(d_c); return 0; }

Bài toán cộng hai vector Hàm kernel __global__ void add(int *a, int *b, int *c) { int index = threadIdx.x + blockIdx.x * blockDim.x; c[index] = a[index] + b[index]; } Một số từ khóa __global__ : hàm thực thi trên GPU được gọi bởi CPU blockIdx: chỉ số block chiều x (blockIdy tương tự) threadIdx: chỉ số thread chiều x (threadIdy tương tự) blockDim: số thread trong một block

Biên dịch và chạy chương trình Bài mẫu được lưu vectorAdd.cu Thêm phần code in kết quả vào vectorAdd.cu Compile $ nvcc vectorAdd.cu Run $ a.out

Tài liệu tham khảo CUDA C Programming Guide - http://docs.nvidia.com/cuda/cuda-c-programming-guide/

Câu hỏi và bài tập Giải bài toán cộng vector với N là một số bất kì Giải bài toán cộng hai ma trận Mở rộng: Giải bài toán nhân hai ma trận

www.themegallery.com Thank You !