GPUart  1.01
Prototype of GPUart, an application-based limited preemptive GPU scheduler for embedded real-time systems
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Macros | Functions
GPUart_Sobel.cuh File Reference
#include "../GPUart_Common/GPUart_Common.h"
#include <cuda.h>
#include <cuda_runtime.h>
#include <cuda_profiler_api.h>
Include dependency graph for GPUart_Sobel.cuh:
This graph shows which files directly or indirectly include this file:

Macros

#define GPUART_SOBEL_CUH
 
#define C_SOB_BLOCK_SIZE   512
 
#define C_SOB1_LOCAL_WORK_SIZE   C_SOB_BLOCK_SIZE
 
#define C_SOB1_NUMBER_OF_BLOCKS   1
 
#define C_SOB1_GLOBAL_WORK_SIZE   C_SOB_BLOCK_SIZE * C_SOB1_NUMBER_OF_BLOCKS
 
#define C_SOB1_WIDTH   C_SOB_BLOCK_SIZE
 
#define C_SOB1_HEIGHT   256
 
#define C_SOB1_MATRIX_SIZE   C_SOB1_HEIGHT * C_SOB1_WIDTH
 
#define C_SOB2_LOCAL_WORK_SIZE   C_SOB_BLOCK_SIZE
 
#define C_SOB2_NUMBER_OF_BLOCKS   2
 
#define C_SOB2_GLOBAL_WORK_SIZE   C_SOB_BLOCK_SIZE * C_SOB2_NUMBER_OF_BLOCKS
 
#define C_SOB2_WIDTH   C_SOB_BLOCK_SIZE * 2
 
#define C_SOB2_HEIGHT   512
 
#define C_SOB2_MATRIX_SIZE   C_SOB2_HEIGHT * C_SOB2_WIDTH
 
#define C_SOB_SM_INIT   (0)
 
#define C_SOB_SM_LOOP   (1)
 
#define C_SOB_SM_FINISH   (2)
 

Functions

__global__ void Sobel_Kernel (sint32 *__restrict__ matrix_in_s32_g, sint32 *__restrict__ matrix_out_s32_g, uint32 heigth_u32, uint32 width_u32, volatile sint32 *__restrict__ preemption_flag_g, sint32 *__restrict__ preemption_flag_intern_g, volatile sint32 *__restrict__ preemption_sm_g, uint32 *__restrict__ sync_flags_in_u32_g, uint32 *__restrict__ sync_flags_out_u32_g, uint32 *__restrict__ buffer_loop_counter_u32_g, volatile uint32 *__restrict__ kernelRunningStatus_g)
 

Macro Definition Documentation

#define C_SOB1_GLOBAL_WORK_SIZE   C_SOB_BLOCK_SIZE * C_SOB1_NUMBER_OF_BLOCKS
#define C_SOB1_HEIGHT   256
#define C_SOB1_LOCAL_WORK_SIZE   C_SOB_BLOCK_SIZE
#define C_SOB1_MATRIX_SIZE   C_SOB1_HEIGHT * C_SOB1_WIDTH
#define C_SOB1_NUMBER_OF_BLOCKS   1
#define C_SOB1_WIDTH   C_SOB_BLOCK_SIZE
#define C_SOB2_GLOBAL_WORK_SIZE   C_SOB_BLOCK_SIZE * C_SOB2_NUMBER_OF_BLOCKS
#define C_SOB2_HEIGHT   512
#define C_SOB2_LOCAL_WORK_SIZE   C_SOB_BLOCK_SIZE
#define C_SOB2_MATRIX_SIZE   C_SOB2_HEIGHT * C_SOB2_WIDTH
#define C_SOB2_NUMBER_OF_BLOCKS   2
#define C_SOB2_WIDTH   C_SOB_BLOCK_SIZE * 2
#define C_SOB_BLOCK_SIZE   512
#define C_SOB_SM_FINISH   (2)
#define C_SOB_SM_INIT   (0)
#define C_SOB_SM_LOOP   (1)
#define GPUART_SOBEL_CUH

Function Documentation

__global__ void Sobel_Kernel ( sint32 *__restrict__  matrix_in_s32_g,
sint32 *__restrict__  matrix_out_s32_g,
uint32  heigth_u32,
uint32  width_u32,
volatile sint32 *__restrict__  preemption_flag_g,
sint32 *__restrict__  preemption_flag_intern_g,
volatile sint32 *__restrict__  preemption_sm_g,
uint32 *__restrict__  sync_flags_in_u32_g,
uint32 *__restrict__  sync_flags_out_u32_g,
uint32 *__restrict__  buffer_loop_counter_u32_g,
volatile uint32 *__restrict__  kernelRunningStatus_g 
)