<em id="rw4ev"></em>

      <tr id="rw4ev"></tr>

      <nav id="rw4ev"></nav>
      <strike id="rw4ev"><pre id="rw4ev"></pre></strike>
      合肥生活安徽新聞合肥交通合肥房產生活服務合肥教育合肥招聘合肥旅游文化藝術合肥美食合肥地圖合肥社保合肥醫院企業服務合肥法律

      CEG 4136代做、代寫Java/c++設計編程
      CEG 4136代做、代寫Java/c++設計編程

      時間:2024-09-23  來源:合肥網hfw.cc  作者:hfw.cc 我要糾錯



      CEG 4136 Computer Architecture III 
      Fall 2024 
       
      To be submitted September 28, 11:59 p.m. 
       
      Lab1: Optimizing Forest Fire Simulation with CUDA 
        
      1. Introduction 
      In this lab, you will work on a forest fire simulation code that uses a 1000×1000 grid. The fire 
      starts at 100 distinct locations in the forest. The provided code is implemented sequentially. It 
      simulates the propagation of fire, the burning of trees, and their eventual extinction. The grid is 
      displayed using the OpenGL library, where each cell represents a tree or an empty space. 
       
      The objective of this lab is to parallelize the existing code using CUDA C to leverage the power 
      of graphics processing units (GPUs) to make the simulation faster and more efficient. You will 
      identify parts of the code that are most appropriate for optimization, such as the forest update 
      process, and transform them to run in parallel. 
       
      2. Objective 
      The primary objective of this lab is to convert the sequential code into an optimized version using 
      CUDA C to accelerate the simulation. You will learn to: 
      • Identify code sections that can be parallelized. 
      • Use CUDA C to run computations in parallel on a GPU. 
      • Measure the performance gains achieved through parallelization. 
       2 
       
      3. Development Platform 
      Development and optimization of the program will be done on machines equipped with CUDAcapable
       GPUs. The tools to be used include: 
      • CUDA Toolkit (12.6 or later) for compiling CUDA programs. 
      • Visual Studio 2022 for editing and debugging the code. 
      • CUDA Debugger for testing and profiling your CUDA kernels. 
       
      You will use OpenGL for rendering the simulation, and work will be carried out on workstations 
      with NVIDIA GPUs that support CUDA. 
      4. Tasks 
      Step 1: Understand the Starter Code 
      • Analyze the provided code. It is a forest fire simulation where each cell in the grid 
      represents either a tree or an empty space. Fire starts at 100 random locations, spreads to 
      neighboring cells, and burning trees eventually extinguish after a set amount of time. 
      Step 2: Identify Opportunities for Parallelization 
      • Grid updating is a significant part of the code that can be parallelized. Each cell in the grid 
      can be updated independently of the others. 
      • Analyze the updateForest() function, which is responsible for updating the state of 
      burning trees and propagating fire to neighboring cells. This is the section that needs to be 
      optimized using CUDA. 
      Step 3: Implement Parallelization with CUDA C 
      • CUDA Initialization: Allocate memory for the grid (forest) and burn time (burnTime) on 
      the GPU using cudaMalloc(). 
      • CUDA Kernel: Implement a kernel that updates the state of each cell in the forest in 
      parallel. 
      • Parallel Execution: Ensure that each cell in the grid is updated in parallel using multiple 
      threads on the GPU. 
      • Block and Thread Management: Divide the grid into CUDA thread blocks for optimized 
      execution. 
      Step 4: Measure Performance 
      Measure the runtime of the sequential program and compare it to the optimized CUDA version. 
      Use CUDA profiling tools to identify performance gains and any further possible optimizations. 
       3 
       
      5. Deliverables 
      Each team must submit a report containing the following: 
      • An explanation of the parts of the code that were parallelized. 
      • The modified source code with the CUDA implementation. 
      • A performance analysis showing the execution times before and after optimization. 
      • Screenshots of the running program with visual simulation results. 
       
      6. Evaluation Criteria 
      The following criteria will be considered in the evaluation: 
      • Correctness: The program must work correctly after optimization. The simulation should 
      behave the same as the sequential version. 
      • Effective Parallelization: The code should demonstrate proper and effective use of CUDA, 
      with significant parallelization of the appropriate parts of the program. 
      • Performance Improvement: Measurable performance gains should be demonstrated with 
      the CUDA version. The difference in execution times between the sequential and parallel 
      versions must be clearly explained. 
      • Code Quality: The code should be well-structured, commented, and follow good 
      programming practices. 
       
      Note: This lab serves as an introduction to parallelization using CUDA, so it's important to have 
      a solid understanding of the basics of CUDA before you begin coding. 

      請加QQ:99515681  郵箱:99515681@qq.com   WX:codinghelp





       

      掃一掃在手機打開當前頁
    1. 上一篇:COMP5328代做、代寫Python程序語言
    2. 下一篇:CRICOS編程代做、代寫Java程序設計
    3. 無相關信息
      合肥生活資訊

      合肥圖文信息
      挖掘機濾芯提升發動機性能
      挖掘機濾芯提升發動機性能
      戴納斯帝壁掛爐全國售后服務電話24小時官網400(全國服務熱線)
      戴納斯帝壁掛爐全國售后服務電話24小時官網
      菲斯曼壁掛爐全國統一400售后維修服務電話24小時服務熱線
      菲斯曼壁掛爐全國統一400售后維修服務電話2
      美的熱水器售后服務技術咨詢電話全國24小時客服熱線
      美的熱水器售后服務技術咨詢電話全國24小時
      海信羅馬假日洗衣機亮相AWE  復古美學與現代科技完美結合
      海信羅馬假日洗衣機亮相AWE 復古美學與現代
      合肥機場巴士4號線
      合肥機場巴士4號線
      合肥機場巴士3號線
      合肥機場巴士3號線
      合肥機場巴士2號線
      合肥機場巴士2號線
    4. 幣安app官網下載 短信驗證碼 丁香花影院

      關于我們 | 打賞支持 | 廣告服務 | 聯系我們 | 網站地圖 | 免責聲明 | 幫助中心 | 友情鏈接 |

      Copyright © 2024 hfw.cc Inc. All Rights Reserved. 合肥網 版權所有
      ICP備06013414號-3 公安備 42010502001045

      成人久久18免费网站入口