File tree 1 file changed +19
-0
lines changed 1 file changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -63,3 +63,22 @@ used by default.
63
63
cd ..
64
64
./build/sobel_cpu
65
65
```
66
+
67
+ ## Program Breakdown
68
+
69
+ The idea of the project is to use the CPU implementation as a baseline
70
+ and then apply each optimization step incrementally.
71
+
72
+ - ** sobel_cpu** : CPU baseline implementation
73
+ - ** sobel_gpu_1_naive** : Literal port to GPU
74
+ - ** sobel_gpu_2_single_alloc** : Allocate only once the GPU memories
75
+ and recicle them through all the iterations.
76
+ - ** sobel_gpu_3_pinned_mem** : Allocate host memory as
77
+ non-pageable/pinned so that the transfer is highly optimized.
78
+ - ** sobel_gpu_4_shared_mem** : Allocate shared memory (if possible) for
79
+ the GPU/CPU to eliminate the memory transfer.
80
+ - ** sobel_gpu_5_shared_mem_streams** : Use CUDA streams to process
81
+ certain parts of the pipeline in parallel.
82
+ - ** sobel_gpu_5_pinned_mem_streams** : Use CUDA streams to process
83
+ certain parts of the pipeline in parallel (alternative implementation
84
+ for pinned memory instead of shared memory).
You can’t perform that action at this time.
0 commit comments