Menu

Tree [b46a1a] master /
 History

HTTPS access


File Date Author Commit
 TSPLIB 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 common 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 .cproject 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 .project 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 README 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 gnuplot_gui.h 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelgpu 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelgpu.cu 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelparallel 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelparallel.cu 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelserial 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit
 kernelserial.cu 2021-09-04 Seval Capraz Seval Capraz [b46a1a] Initial commit

Read Me

####################################################################################################
####################################################################################################
# GPU-Accelerated Route Planning Problem of Multi-UAV Systems Using Simulated Annealing Algorithm  #
# Tolgahan Türker, Seval Çapraz, Halil Azyıkmış, Adnan Özsoy                                       #
# Graduate School of Science and Engineering, Hacettepe University                                 #
####################################################################################################

#############################################
############# Architecture ##################
Hardware and software specifications:
	Manufacturer: Intel
	Model : Core i7 (2nd Gen) 3610QM
	Chipset Architecture : Intel HM76 Express
	Clock frequency : 2.2GHz
	Cores : 8
	RAM : 16GB DDR3 1333 MHz 
	Operating System : Ubuntu 17.10 x86_64 GNU/Linux
	Compiler : NVCC (Nvidia Cuda Compiler CUDA Version 9.1.85) 
	NVIDIA Graphics Card : GeForce GT 650M 2GB
	NVIDIA Driver Version : 390.25
	CUDA version : 9.1.85

##############################################
######## Required Libraries & Datasets########
##############################################

Source code for CUDA/GPU implementation can be found in the kernelgpu.cu file. This file includes the libraries below:

#include "cuda_runtime.h"
#include <fstream>
#include <cstdlib>
#include <algorithm>
#include <stdio.h>
#include <cfloat>
#include <sys/time.h>
#include <curand.h>
#include <curand_kernel.h>
#include "gnuplot_gui.h"

Almost all the libraries common and comes with CUDA installation, except the last three in the list above. cuRAND is highly probably installed with CUDA core -needs to be checked-, but GNUPLOT library should be installed separately. GNUPLOT is being used for the visual representation of the results.

Hint!: If you do NOT want to install GNUPLOT, you need to comment/remove the codes referencing this library. In this case, the results  will be shown only on the terminal screen and you will not be sure how good the solution is.

The dataset files stored under the TSPLIB folder.

#############################################
######## Compiling & Running the Code########
#############################################
In default, 

$  nvcc kernelgpu.cu -o kernelgpu

command should be used in the terminal. With this command, our source code file will be compiled according to basic architecture needs. But we have identified that, if we compile with the command below we are getting unbelievable better performance (faster run, over %80 better performance). “sm_70” option simply refers to CUDA 9 version.

$  nvcc -O3 -arch=sm_70 kernelgpu.cu -o kernelgpu

In order to run the binary output:
 
$  ./kernelgpu


Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.