Evacuous_parallel

所属分类:GPU/显卡
开发工具:Python
文件大小:318KB
下载次数:0
上传日期:2019-10-25 18:41:51
上 传 者sh-1993
说明:  用于GPU编程的CUDA
(CUDA for GPU programming)

文件列表:
.idea (0, 2019-10-26)
.idea\modules.xml (268, 2019-10-26)
.idea\vcs.xml (180, 2019-10-26)
LICENSE.txt (1070, 2019-10-26)
graphics (0, 2019-10-26)
graphics\__init__.py (0, 2019-10-26)
graphics\draw_frame.py (2359, 2019-10-26)
graphics\resources.py (287, 2019-10-26)
main.py (4454, 2019-10-26)
movement.py (7961, 2019-10-26)
resources (0, 2019-10-26)
resources\car.png (47185, 2019-10-26)
resources\demo_map1.png (22511, 2019-10-26)
resources\imgres.png (4109, 2019-10-26)
stats (0, 2019-10-26)
stats\Evacuous.pstat (283263, 2019-10-26)
stats\Evacuous1.pstat (277277, 2019-10-26)
stats\Evacuous6.pstat (282978, 2019-10-26)
stats\Evacuous7.pstat (271558, 2019-10-26)
stats\Evacuous8.pstat (261627, 2019-10-26)
stats\index.txt (397, 2019-10-26)
task2.py (5631, 2019-10-26)
transfer.py (6418, 2019-10-26)
util (0, 2019-10-26)
util\__init__.py (0, 2019-10-26)
util\functions.py (1964, 2019-10-26)
util\load.py (814, 2019-10-26)
util\objects.py (3676, 2019-10-26)

# Evacuous Note: This project is the parallelized version of [Project Evacuous](https://github.com/Salazar-Prime/Evacuous/) ## Authors * [Varun Aggarwal](https://github.com/Salazar-Prime/) * [Arvind Roshaan](https://github.com/ararosh) * [P.R.Vaidyanathan](https://github.com/aditya95sriram) ## Dependencies * [CUDA v7.5](https://developer.nvidia.com/cuda-75-downloads-archive) * [PyCUDA v2016.1.2](https://wiki.tiker.net/PyCuda/Installation) * [Pyglet v1.2.4](http://pyglet.readthedocs.io/en/pyglet-1.2-maintenance/programming_guide/installation.html) ## How to run From the project root execute `python main.py [] [-g]` with the optional `-g` switch to run the simulation with graphics enabled and `` indicating the number of cars to run the simulation with (defaults to 1000 cars). Example: `python main.py 1000 -g` ## Description This is a simulation based project aimed at parallelizing the simulation(with graphics) of an evacuation situtation of smart cars. The main goal was to significantly reduce the run time of simulation using PyCUDA. This project was developed as a part of the course **ES611: Algorithms for Advanced Computer Architecture** conducted by Dr. Ravi Hegde at Indian Institute of Technology Gandhinagar. ## Scenario There are a large number of smart cars in a city. Due to some emergency, all the cars are asked to evacuate the city as fast as possible. To facilitate evacuation, some number of exit/evacuation points exist (generally on the outskirts), but the information about the geographical location of an exit point is only available to the cars which are in the vicinity of one of the concerned exit point. In other words, each exit has to be *discovered*. Each car has the ability to communicate with other cars in its vicinity. There is not central coordinating body and each car has to make its own decisions based on the cars in its neighbourhood. The *swarm* of cars has to work collectively to find exits and evacuate the city. ## Solution approach The solution is inspired by the [Boids problem](http://www.red3d.com/cwr/boids/) by Craig Reynolds. Each car of the swarm, has it's own thinking and decides which direction to proceed in, based on certain rules and parameters - some of which depend on the behavior of the local swarm, and some depend on global goals. These rules are aggregated to compute the new velocity of the car in question. ## Future Work * Incorporate Collision Detection * Allow directly importing map from Google Maps, and internally constructing the network * CUDA kernels can be improved by making use of *Shared Memory* * Make use of prepared function calls provided by PyCUDA while invoking the CUDA kernels

近期下载者

相关文件


收藏者