def get_struct_sizes(): global struct_sizes if (not isinstance(struct_sizes, np.ndarray)): vl.vglClInit() print( "get_struct_sizes: Warning! get_struct_sizes before vglClInit. Calling vglClInit now..." ) return struct_sizes
def __init__(self, cl_ctx=None): # PYTHON-EXCLUSIVE VARIABLES self.cl_ctx: Union[None, vl.opencl_context] = cl_ctx # COMMON VARIABLES. self.ocl IS EQUIVALENT TO cl. self.ocl: Union[None, vl.VglClContext] = None if (self.cl_ctx is None): vl.vglClInit() self.ocl = vl.get_ocl() self.cl_ctx = vl.get_ocl_context() else: self.ocl = cl_ctx.get_vglClContext_attributes()
def VGL_PACK_OUTPUT_DIRECT_MASK(): if( vl.get_bin_image_pack_size is None ): vl.vglClInit() if( vl.get_bin_image_pack_size == vl.PACK_SIZE_8() ): return VGL_PACK_OUTPUT_DIRECT_MASK_8() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_32() ): return VGL_PACK_OUTPUT_DIRECT_MASK_32() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_64() ): return VGL_PACK_OUTPUT_DIRECT_MASK_64() print("VGL_PACK_SIZE_BITS: Error! get_bin_image_pack_size not 8, 32 or 64.") exit()
def VGL_PACK_CL_SHADER_TYPE(): if( vl.get_bin_image_pack_size is None ): vl.vglClInit() if( vl.get_bin_image_pack_size == vl.PACK_SIZE_8() ): return VGL_PACK_CL_SHADER_TYPE_8() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_32() ): return VGL_PACK_CL_SHADER_TYPE_32() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_64() ): return VGL_PACK_CL_SHADER_TYPE_64() print("VGL_PACK_CL_SHADER_TYPE: Error! get_bin_image_pack_size not 8, 32 or 64.") exit()
def VGL_PACK_MAX_UINT(): if( vl.get_bin_image_pack_size is None ): vl.vglClInit() if( vl.get_bin_image_pack_size == vl.PACK_SIZE_8() ): return VGL_PACK_MAX_UINT_8() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_32() ): return VGL_PACK_MAX_UINT_32() elif( vl.get_bin_image_pack_size == vl.PACK_SIZE_64() ): return VGL_PACK_MAX_UINT_64() print("VGL_PACK_MAX_UINT: Error! get_bin_image_pack_size not 8, 32 or 64.") exit()
def __init__(self, cl_ctx=None): # PYTHON-EXCLUSIVE VARIABLES self.cl_ctx: Union[None, vl.opencl_context] = cl_ctx # COMMON VARIABLES. self.ocl IS EQUIVALENT TO cl. self.ocl: Union[None, vl.VglClContext] = None # SE O CONTEXTO OPENCL NÃO FOR DEFINIDO # ELE INSTANCIADO E DEFINIDO if (self.cl_ctx is None): vl.vglClInit() self.ocl = vl.get_ocl() self.cl_ctx = vl.get_ocl_context() else: self.ocl = cl_ctx.get_vglClContext_attributes()
def __init__(self): print("-> struct_sizes: Starting") # INSTANTIATING THE VARIABLE THAT WILL STORE THE DATA self.struct_sizes_host = np.zeros(11, np.uint32) # GETTING EXISTING DATA self.ocl_ctx = vl.get_ocl_context() # IF THERE'S NO CONTEXT, CREATE ONE AND GETS IT if (self.ocl_ctx is None): vl.vglClInit() self.ocl_ctx = vl.get_ocl_context() # COMPILING KERNEL THAT WILL RETURN DATA ORGANIZATION self._program = self.ocl_ctx.get_compiled_kernel( "vgl_lib/get_struct_sizes.cl", "get_struct_sizes") self.kernel_run = self._program.get_struct_sizes self.execute() print("<- struct_sizes: Ending\n")
from cl2py_ND import * import time as t import sys """ THIS BENCHMARK TOOL EXPECTS JUST 1 ARGUMENT: ARGV[1]: PRIMARY 2D-IMAGE PATH (COLORED OR GRAYSCALE) IT WILL BE USED IN ALL KERNELS AS INPUT IMAGE THE RESULT IMAGES WILL BE SAVED AS IMG-[PROCESSNAME].JPG """ if __name__ == "__main__": vl.vglClInit() msg = "" # INPUT IMAGE img_input = vl.VglImage(sys.argv[1], None, vl.VGL_IMAGE_2D_IMAGE(), vl.IMAGE_ND_ARRAY()) vl.vglLoadImage(img_input) vl.vglClUpload(img_input) # OUTPUT IMAGE img_output = vl.create_blank_image_as(img_input) img_output.set_oclPtr( vl.get_similar_oclPtr_object(img_input) ) vl.vglAddContext(img_output, vl.VGL_CL_CONTEXT()) # STRUCTURANT ELEMENT window = vl.VglStrEl()
max_wis_not_type = np.iinfo( np.int32 ).min for device in platform.get_devices(): atual_wis = 1 for n in device.max_work_item_sizes: atual_wis = atual_wis * n if( device.type == device_type ): if( max_wis_type < atual_wis ): max_wis_type = atual_wis dv_type = device else: if( max_wis_not_type < atual_wis ): max_wis_not_type = atual_wis dv_not_type = device # RETURNING BEST OPTION if( dv_type == None ): return dv_not_type else: return dv_type if __name__ == "__main__": ctx = cl.Context( [ get_device( cl.device_type.GPU ) ] ) fila = cl.CommandQueue( ctx ) vl.vglClInit(ctx, None, None) if( vl.vglClImage.struct_sizes is not None ): print( "### Teste executado com sucesso! ###" )