From 791c81c95cf9a9fc715384082b7478881b7f2727 Mon Sep 17 00:00:00 2001 From: Mark Winter <mwinter@drexel.edu> Date: Sun, 1 Mar 2020 12:42:14 -0500 Subject: [PATCH] Binaries supporting dynamic enabling of proces mutex --- src/MATLAB/+HIP/+Local/CheckConfig.m | 20 ++++++++++++++++++++ src/MATLAB/+HIP/@Cuda/CheckConfig.m | 7 +++++++ src/MATLAB/+HIP/@Cuda/Cuda.m | 21 +++++++++++---------- src/MATLAB/+HIP/@Cuda/Mex.mexw64 | 4 ++-- src/MATLAB/+HIP/CheckConfig.m | 13 +++++++++++++ src/Python/HIP.pyd | 4 ++-- src/c/Mex.mexw64 | 4 ++-- 7 files changed, 57 insertions(+), 16 deletions(-) create mode 100644 src/MATLAB/+HIP/+Local/CheckConfig.m create mode 100644 src/MATLAB/+HIP/@Cuda/CheckConfig.m create mode 100644 src/MATLAB/+HIP/CheckConfig.m diff --git a/src/MATLAB/+HIP/+Local/CheckConfig.m b/src/MATLAB/+HIP/+Local/CheckConfig.m new file mode 100644 index 00000000..dd7414de --- /dev/null +++ b/src/MATLAB/+HIP/+Local/CheckConfig.m @@ -0,0 +1,20 @@ +function [hydraConfig] = CheckConfig(,suppressWarning) + error('CheckConfig not yet implemented in MATLAB!'); %delete this line when implemented + if (~exist('suppressWarning','var') || isempty(suppressWarning) || ~suppressWarning) + warning('Falling back to matlab.'); + end + + if (~exist('numIterations','var') || isempty(numIterations)) + numIterations = 1; + end + + arrayOut = arrayIn; + for t=1:size(arrayIn,5) + for c=1:size(arrayIn,4) + for i=1:numIterations + % implement this function here + arrayOut(:,:,:,c,t) = arrayIn(:,:,:,c,t); + end + end + end +end diff --git a/src/MATLAB/+HIP/@Cuda/CheckConfig.m b/src/MATLAB/+HIP/@Cuda/CheckConfig.m new file mode 100644 index 00000000..40d1cc35 --- /dev/null +++ b/src/MATLAB/+HIP/@Cuda/CheckConfig.m @@ -0,0 +1,7 @@ +% CheckConfig - Get Hydra library configuration information. +% [hydraConfig] = HIP.Cuda.CheckConfig() +% Returns hydraConfig structure with configuration information. +% +function [hydraConfig] = CheckConfig() + [hydraConfig] = HIP.Cuda.Mex('CheckConfig'); +end diff --git a/src/MATLAB/+HIP/@Cuda/Cuda.m b/src/MATLAB/+HIP/@Cuda/Cuda.m index b9b4bf95..46882b66 100644 --- a/src/MATLAB/+HIP/@Cuda/Cuda.m +++ b/src/MATLAB/+HIP/@Cuda/Cuda.m @@ -1,28 +1,29 @@ classdef (Abstract,Sealed) Cuda methods (Static) + [imageOut] = Closure(imageIn,kernel,numIterations,device) + [imageOut] = HighPassFilter(imageIn,sigmas,device) + [numCudaDevices,memStats] = DeviceCount() Help(command) + [hydraConfig] = CheckConfig() + [imageOut] = IdentityFilter(imageIn,device) [cmdInfo] = Info() - [numCudaDevices,memStats] = DeviceCount() + [imageOut] = Gaussian(imageIn,sigmas,numIterations,device) + [imageOut] = MeanFilter(imageIn,kernel,numIterations,device) [deviceStatsArray] = DeviceStats() [imageOut] = ElementWiseDifference(image1In,image2In,device) + [imageOut] = MultiplySum(imageIn,kernel,numIterations,device) [imageOut] = EntropyFilter(imageIn,kernel,device) - [imageOut] = HighPassFilter(imageIn,sigmas,device) - [imageOut] = Gaussian(imageIn,sigmas,numIterations,device) - [imageOut] = Closure(imageIn,kernel,numIterations,device) + [imageOut] = StdFilter(imageIn,kernel,numIterations,device) [minVal,maxVal] = GetMinMax(imageIn,device) - [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device) - [imageOut] = Opener(imageIn,kernel,numIterations,device) - [imageOut] = IdentityFilter(imageIn,device) - [imageOut] = MultiplySum(imageIn,kernel,numIterations,device) [imageOut] = LoG(imageIn,sigmas,device) - [imageOut] = StdFilter(imageIn,kernel,numIterations,device) - [imageOut] = MeanFilter(imageIn,kernel,numIterations,device) [imageOut] = MedianFilter(imageIn,kernel,numIterations,device) [imageOut] = MinFilter(imageIn,kernel,numIterations,device) [imageOut] = MaxFilter(imageIn,kernel,numIterations,device) [imageOut] = NLMeans(imageIn,h,searchWindowRadius,nhoodRadius,device) + [imageOut] = Opener(imageIn,kernel,numIterations,device) [imageOut] = Sum(imageIn,device) [imageOut] = VarFilter(imageIn,kernel,numIterations,device) + [imageOut] = WienerFilter(imageIn,kernel,noiseVariance,device) end methods (Static, Access = private) varargout = Mex(command, varargin) diff --git a/src/MATLAB/+HIP/@Cuda/Mex.mexw64 b/src/MATLAB/+HIP/@Cuda/Mex.mexw64 index b658d2b0..a7c4f668 100644 --- a/src/MATLAB/+HIP/@Cuda/Mex.mexw64 +++ b/src/MATLAB/+HIP/@Cuda/Mex.mexw64 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75d48bac093946934c4cd46fbbe2aedd703f447d1ec8e08752c118eb23528e07 -size 12387840 +oid sha256:d9bd33ddebb06abf7ac3f2854f09d9074e17a623c5206bb963464d7ac67a29d4 +size 12400128 diff --git a/src/MATLAB/+HIP/CheckConfig.m b/src/MATLAB/+HIP/CheckConfig.m new file mode 100644 index 00000000..24954fd1 --- /dev/null +++ b/src/MATLAB/+HIP/CheckConfig.m @@ -0,0 +1,13 @@ +% CheckConfig - Get Hydra library configuration information. +% [hydraConfig] = HIP.CheckConfig() +% Returns hydraConfig structure with configuration information. +% + +function [hydraConfig] = CheckConfig() + try + [hydraConfig] = HIP.Cuda.CheckConfig(); + catch errMsg + warning(errMsg.message); + [hydraConfig] = HIP.Local.CheckConfig(); + end +end diff --git a/src/Python/HIP.pyd b/src/Python/HIP.pyd index e224a365..9c357786 100644 --- a/src/Python/HIP.pyd +++ b/src/Python/HIP.pyd @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e666abc8f1952e321b5a3dd107032f8316ee09c84c7ec488d9963e655df6e7a0 -size 11935232 +oid sha256:abeb26030db8d370d5778f790285e663dddc83500a1eff868e85356ca336018f +size 12415488 diff --git a/src/c/Mex.mexw64 b/src/c/Mex.mexw64 index b658d2b0..a7c4f668 100644 --- a/src/c/Mex.mexw64 +++ b/src/c/Mex.mexw64 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:75d48bac093946934c4cd46fbbe2aedd703f447d1ec8e08752c118eb23528e07 -size 12387840 +oid sha256:d9bd33ddebb06abf7ac3f2854f09d9074e17a623c5206bb963464d7ac67a29d4 +size 12400128 -- GitLab