Water Industry Process Automation & Control Monthly - April 2024
Thesis Final Presentation
1. Improve computation complexity
of sobel edge detection using
contract anytime algorithm
Presented By
Md Kamal Hossain Shajal - 12101073
Md Asif Ibtehaz - 14341001
Md Assaduzzaman Ashique - 12301017
Supervisor
Dr. Jia Uddin
Ass professor
BRAC University
Department of Computer Science & Engineering
jia.uddin@bracu.ac.bd
4. Why Edge Detection is Important
Medical Image processing (Detect the
edge of lungs CT scan)
Shape and object recognition
Traffic Management
Line detection from blurry image
11. Sobel Edge Detection Technique using Contract
Anytime Algorithm in Parallel Computing
Edge detection (Sobel) Contract
Anytime
Algorithm for
Sobel
Gray Scale Conversion
Image Input
Contract
Anytime
Algorithm to
convert in
gray scale
Output
Proposed Model
CPU
GPU
CPU
12. Experimental Environment
Software Specification
Visual Studio 2013
CUDA ToolKit 7.5
.NET C++
JAVA 7
Eclipse MARS
Create A Graph (online tool)
OpenGL
Hardware Specification
AMD FX5320 CPU
RAM 8 GB
NVIDIA GTX 550 TI
13. GTX 550ti GPU Engine Specs
Parameters Value
CUDA Cores 192
Graphics Clock (MHz) 900
Processor Clock (MHz) 1800
Texture Fill Rate (billion/sec) 28.8
Total amount of shared memory per block 49152 bytes
Maximum number of threads per block 1024
CUDA Driver Version / Runtime Version 7.5 / 7.5
TABLE GTX 550ti GPU Engine Specs
14. Result Analysis – Implementation using
Java
Output for Input Image Higher than
1920 pixel
15. Sobel Edge Detection Implementation
using Parallel Computing
Output of [Image 1] for block
dimension 16.
Output of [Image 1] for block
dimension 32.
Sample Image 1
16. Implementing Contact Anytime Algorithm in
Sobel Edge Detection (16 block)
(a) Test Image 2 (b) Test 1(quick)
(c) Test 2(half) (d) Test 3(full)
Three contract-time process test for 16 block dimension Test
(b, c, and d)
17. Implementing Contact Anytime Algorithm in
Sobel Edge Detection (32 block)
(a) Test Image 1 (b) Test 1(quick)
(c) Test 2(half) (d) Test 3(full)
Three contract-time process test for 32 block dimension Test
(b, c, and d)
18. Time Comparison between Java and Sobel
Anytime Algorithm
Time Comparison of 1920 x 1024 Input Image Time Comparison of 4096 x 4096 Input Image
19. Time Comparison (Sobel with Anytime 16
block and 32 block)
Process versus Time for 16 and 32 block dimension.
20. Overall Comparison
PROCESS
CPU – GPU TIME
(MS)
THREADS PER BLOCK BLOCK SIZE
JAVA EXECUTION TIME
(MS)
SPEEDUP
(AGAINST
JAVA)
16 BLOCK DIMENSION
QUICK 119.899
256 8192 480
4.003X
HALF 127.809 3.7X
FULL 127.992 3.75X
32 BLOCK DIMENSION
QUICK 138.227
1024 2048 480
3.47X
HALF 141.027 3.4X
FULL 141.601 3.38X
Result comparison for an 1920 x 1024 Input Image
21. Conclusion
Future Work
Real time using contract-based anytime algorithm
Interruptible anytime algorithm.
Limitation
CUDA 7.0 Toolkit
Visual Studio Extension Error
Tesla Architecture
24. Parallel Computing
Threads per Warp 32
Warps per Multiprocessor 64
Threads per Multiprocessor 2048
Thread Blocks per Multiprocessor 16
Total # of 32-bit registers per Multiprocessor 65536
Register allocation unit size 256
Register allocation granularity warp
Registers per Thread 255
Shared Memory per Multiprocessor (bytes) 49152
Shared Memory Allocation unit size 256
Warp allocation granularity 4
Maximum Thread Block Size 1024
Source. NVIDIA Occupancy calculator
Source. NVIDIA Understanding parallel computing
Source. NVIDIA NVIDIA GPGPU
25. Anytime Algorithm
Figure 6 page 15
Result ← INITIALIZATION-STEP (Input(x,
y))
REGISTER-RESULT (Result)
x ← 0; y ← 0;
While (x < h)
{
While (y < w)
{
Outpu
t(x, y) ←
Input(x, y);
y ← y
+ 2;
}
SIGNAL (TERMINATION)
HALT
}
w ← w/2;
h ← h/2;