Lines Matching refs:ocl

9   PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data;  in PetscFEDestroy_OpenCL()  local
12 PetscCall(clReleaseCommandQueue(ocl->queue_id)); in PetscFEDestroy_OpenCL()
13 ocl->queue_id = 0; in PetscFEDestroy_OpenCL()
14 PetscCall(clReleaseContext(ocl->ctx_id)); in PetscFEDestroy_OpenCL()
15 ocl->ctx_id = 0; in PetscFEDestroy_OpenCL()
16 PetscCall(PetscFree(ocl)); in PetscFEDestroy_OpenCL()
48 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLGenerateIntegrationCode() local
54 PetscInt op = ocl->op; in PetscFEOpenCLGenerateIntegrationCode()
75 if (ocl->realType == PETSC_DOUBLE) { in PetscFEOpenCLGenerateIntegrationCode()
440 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLGetIntegrationKernel() local
456 *ocl_prog = clCreateProgramWithSource(ocl->ctx_id, 1, (const char **)&buffer, &len, &err); in PetscFEOpenCLGetIntegrationKernel()
460 …err = clGetProgramBuildInfo(*ocl_prog, ocl->dev_id, CL_PROGRAM_BUILD_LOG, 8192 * sizeof(char), &er… in PetscFEOpenCLGetIntegrationKernel()
492 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLLogResidual() local
494 PetscCall(PetscLogHandlerGetEventPerfInfo(h, PETSC_DEFAULT, ocl->residualEvent, &eventInfo)); in PetscFEOpenCLLogResidual()
506 PetscFE_OpenCL *ocl; in PetscFEIntegrateResidual_OpenCL() local
546 ocl = (PetscFE_OpenCL *)fem->data; in PetscFEIntegrateResidual_OpenCL()
594 PetscCall(PetscDataTypeGetSize(ocl->realType, &realSize)); in PetscFEIntegrateResidual_OpenCL()
597 switch (ocl->realType) { in PetscFEIntegrateResidual_OpenCL()
641 SETERRQ(PETSC_COMM_SELF, PETSC_ERR_ARG_WRONG, "Unsupported PETSc type %d", ocl->realType); in PetscFEIntegrateResidual_OpenCL()
656 …o_coefficients = clCreateBuffer(ocl->ctx_id, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, Ne * N_bt * … in PetscFEIntegrateResidual_OpenCL()
658 …o_coefficientsAux = clCreateBuffer(ocl->ctx_id, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, Ne * real… in PetscFEIntegrateResidual_OpenCL()
660 …o_coefficientsAux = clCreateBuffer(ocl->ctx_id, CL_MEM_READ_ONLY, Ne * realSize, oclCoeffAux, &err… in PetscFEIntegrateResidual_OpenCL()
662 …o_jacobianInverses = clCreateBuffer(ocl->ctx_id, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, Ne *… in PetscFEIntegrateResidual_OpenCL()
663 …o_jacobianDeterminants = clCreateBuffer(ocl->ctx_id, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, Ne *… in PetscFEIntegrateResidual_OpenCL()
664 …o_elemVec = clCreateBuffer(ocl->ctx_id, CL_MEM_WRITE_ONLY, Ne * N_bt * realSize, NULL… in PetscFEIntegrateResidual_OpenCL()
672 …PetscCall(clEnqueueNDRangeKernel(ocl->queue_id, ocl_kernel, 3, NULL, global_work_size, local_work_… in PetscFEIntegrateResidual_OpenCL()
675 switch (ocl->realType) { in PetscFEIntegrateResidual_OpenCL()
682 …PetscCall(clEnqueueReadBuffer(ocl->queue_id, o_elemVec, CL_TRUE, 0, Ne * N_bt * realSize, elem, 0,… in PetscFEIntegrateResidual_OpenCL()
694 …PetscCall(clEnqueueReadBuffer(ocl->queue_id, o_elemVec, CL_TRUE, 0, Ne * N_bt * realSize, elem, 0,… in PetscFEIntegrateResidual_OpenCL()
701 SETERRQ(PETSC_COMM_SELF, PETSC_ERR_ARG_WRONG, "Unsupported PETSc type %d", ocl->realType); in PetscFEIntegrateResidual_OpenCL()
705 …PetscCall(clEnqueueReadBuffer(ocl->queue_id, o_elemVec, CL_TRUE, 0, Ne * N_bt * realSize, elemVec,… in PetscFEIntegrateResidual_OpenCL()
711 switch (ocl->op) { in PetscFEIntegrateResidual_OpenCL()
765 PetscFE_OpenCL *ocl; in PetscFECreate_OpenCL() local
774 PetscCall(PetscNew(&ocl)); in PetscFECreate_OpenCL()
775 fem->data = ocl; in PetscFECreate_OpenCL()
780 ocl->pf_id = platform_ids[0]; in PetscFECreate_OpenCL()
782 PetscCall(clGetDeviceIDs(ocl->pf_id, CL_DEVICE_TYPE_ALL, 42, device_ids, &num_devices)); in PetscFECreate_OpenCL()
784 ocl->dev_id = device_ids[0]; in PetscFECreate_OpenCL()
786 ocl->ctx_id = clCreateContext(0, 1, &ocl->dev_id, NULL, NULL, &err); in PetscFECreate_OpenCL()
788 ocl->queue_id = clCreateCommandQueue(ocl->ctx_id, ocl->dev_id, CL_QUEUE_PROFILING_ENABLE, &err); in PetscFECreate_OpenCL()
791 ocl->realType = PETSC_FLOAT; in PetscFECreate_OpenCL()
793 PetscCall(PetscLogEventRegister("OpenCL FEResidual", PETSCFE_CLASSID, &ocl->residualEvent)); in PetscFECreate_OpenCL()
795 ocl->op = LAPLACIAN; in PetscFECreate_OpenCL()
814 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLSetRealType() local
818 ocl->realType = realType; in PetscFEOpenCLSetRealType()
837 PetscFE_OpenCL *ocl = (PetscFE_OpenCL *)fem->data; in PetscFEOpenCLGetRealType() local
842 *realType = ocl->realType; in PetscFEOpenCLGetRealType()