tag:www.mathworks.com,2005:/matlabcentral/fileexchange/feedMATLAB Central File Exchangeicon.pnglogo.pngMATLAB Central - File Exchange - product:"Parallel Computing Toolbox"User-contributed code library2015-03-06T04:48:54-05:00921100tag:www.mathworks.com,2005:FileInfo/478112014-09-11T08:39:47Z2015-02-27T06:03:01Zvlfeat/matconvnetMatConvNet: CNNs for MATLAB<p>Please refer to the homepage (<a href="http://www.vlfeat.org/matconvnet">http://www.vlfeat.org/matconvnet</a>) for releases, data, and documentation.
<br />MatConvNet is a MATLAB toolbox implementing Convolutional Neural Networks (CNNs) for computer vision applications. It is simple, efficient (integrating MATLAB GPU support), and can run and learn state-of-the-art CNNs, similar to the ones achieving top scores in the ImageNet challenge. Several example CNNs are included to classify and encode images.
<br />An important feature of MatConvNet is making available the CNN building blocks as easy-to-use MATLAB commands. This allows prototyping new CNN architectures and learning algorithms as well as recycling fast convolution code for sliding window object detection and other applications.</p>
<p>MatConvNet is developed by a team of computer vision scientists in Oxford and other research institutions.</p>Andrea Vedaldihttp://www.mathworks.com/matlabcentral/profile/authors/1911119-andrea-vedaldiMATLAB 8.3 (R2014a)Parallel Computing ToolboxMATLABThe code has been tested on Mac OS X and Linux.
It requires a C compiler (Xcode or GCC respectively).
Compiling GPU support requires a copy of the freely-available NVIDIA developer toolkit and the Parallel MATLAB toolbox.falsetag:www.mathworks.com,2005:FileInfo/484902014-11-18T01:40:21Z2015-02-27T06:02:53ZLynx MATLAB ToolboxA toolbox for the design of complex machine learning experiments<p>Lynx is a research-oriented MATLAB toolbox for designing in a fast way supervised machine learning experiments. Details of a simulation can be specified under a configuration file, and the toolbox takes charge of loading data, partitioning it, testing the algorithms and visualizing the results. Additionally, it has support for parallelizing the experiments, and enabling GPU support. This makes large experiments easily repeatable and modifiable.
<br />We have currently pre-implemented several algorithms (e.g. support vector machines, kernel ridge regression...), optimization routines (grid-search procedures, searching the optimal feature subset...), and datasets.
<br />You can see examples of use (taken from my research papers) on:
<br /><a href="http://ispac.ing.uniroma1.it/scardapane/software/code/">http://ispac.ing.uniroma1.it/scardapane/software/code/</a>
<br />Please do not hesitate to contact me for any help. The toolbox has been tested on MATLAB R2013a.</p>Simonehttp://www.mathworks.com/matlabcentral/profile/authors/3834192-simoneMATLAB 8.1 (R2013a)MATLAB Distributed Computing ServerMATLAB Report GeneratorNeural Network ToolboxParallel Computing ToolboxStatistics ToolboxMATLAB3162784214773215282191224093273842806731272falsetag:www.mathworks.com,2005:FileInfo/490632015-02-20T16:39:08Z2015-02-20T16:39:08ZData Analytics with MATLAB Webinar FilesDemo Files from Data Analytics with MATLAB Webinar<p>Demo files for the historical data analysis from Data Analytics with MATLAB Webinar found at: <a href="http://www.mathworks.com/videos/data-analytics-with-matlab-99066.html">http://www.mathworks.com/videos/data-analytics-with-matlab-99066.html</a>
<br />Using Data Analytics to turn large volumes of complex data into actionable information can help you improve engineering design and decision-making processes. However, developing effective analytics and integrating them into business systems can be challenging. In this webinar you will learn approaches and techniques available in MATLAB to tackle these challenges.
<br />Highlights include:</p>
<p> - Accessing, exploring, and analyzing data stored in files, the web, and data warehouses
<br /> - Techniques for cleaning, exploring, visualizing, and combining complex multivariate data sets
<br /> - Prototyping, testing, and refining predictive models using machine learning methods
<br /> - Integrating and running analytics within enterprise business systems and interactive web applications</p>
<p>Who Should Attend:</p>
<p> - Engineers, analysts, and data scientists interested in developing analytics
<br /> - Managers interested in using data analytics to improve design and design-making
<br /> - IT managers and systems engineers interested in integrating analytics into business systems</p>Adam Filionhttp://www.mathworks.com/matlabcentral/profile/authors/2429191-adam-filionMATLAB 8.4 (R2014b)Curve Fitting ToolboxNeural Network ToolboxParallel Computing ToolboxSignal Processing ToolboxStatistics ToolboxMATLABfalsetag:www.mathworks.com,2005:FileInfo/355482012-03-10T02:45:52Z2015-02-18T16:56:19Z3D Cone beam CT (CBCT) projection backprojection FDK, iterative reconstruction Matlab examples3D Cone beam CT (CBCT) projection backprojection FDK, iterative reconstruction Matlab examples<p>Hello,
<br />My name is Kyungsang Kim.
<br />This program is about 3D cone-beam CT.
<br />This is made for students who learn the medical imaging.
<br />I provide the projection, back-projection codes using built-in GPU functions (semi-GPU codes)
<br />(above 2013b with parallel computing toolbox; you can switch on/off the usage of GPU; The computational time of this code is several times faster than CPU-based code. Speed depends on your GPU.)
<br />I also provide several reconstruction examples such as FDK, MLEM (Maximum Likelihood Expectation Maximization), SART (Simultaneous Algebraic Reconstruction Technique) and SQS (Separable Quadratic Surrogates).</p>
<p>Please let me know if the program has problems.
<br />(E-mail: kssigari(at)gmail)</p>
<p>Thank you</p>Kyung Sang Kimhttp://www.mathworks.com/matlabcentral/profile/authors/2904705-kyung-sang-kimMATLAB 8.2 (R2013b)Parallel Computing ToolboxStatistics ToolboxMATLABfalsetag:www.mathworks.com,2005:FileInfo/496712015-02-11T23:56:15Z2015-02-13T20:43:21ZHardware accelerated ray-box intersectionGPU portable implementation of the ray-box intersection method of Smits (1998)<p>% Ray-box intersection algorithm of Smit (1998) formatted for arrayfun to
<br />% allow hardware acceleration:
<br />% Smits, B. (1998). Efficiency issues for ray tracing. Journal of Graphics
<br />% Tools, 3(2):1–14.
<br />% Call with gpuarray and arrayfun to execute on the GPU: this
<br />% may give two orders of magnitude speed up over vectorized
<br />% cpu based implementation </p>
<p>% Ray box intersection is typically used to locate (axis aligned) spatial
<br />% bins (e.g. octree bins / regular grid) to optimise ray-tracing (i.e. by
<br />% reducing the number of potential triangles</p>
<p>% INPUT (scalar):
<br />% orx, ory, orz: xyz componants of the ray origin
<br />% Dx, Dy, Dz: xyz components of the ray directional (unit) vectors
<br />% minx, miny, minz: xyz componants of the box minima
<br />% maxx, maxy, maxz: xyz componants of the box maxima
<br />% OUTPUT (scalar:
<br />% tmin: minimum distance from from the ray-box intersection to the
<br />% origin or nan if no intersection is located
<br />% flag: 1 if intersection / 0 if no intersection</p>
<p>% Usage example:
<br />% Step 1: convert mx3 direction vectors, D = [Dx Dy Dz] to gpuarray object
<br />% >> gD = gpuArray(D);
<br />% Step 2: call rayBoxGPU using arrayfun with scalar input formatting
<br />% where min, max are the nx3 vertex lists of the box min-max corner points
<br />% and where or is the xyz coordinates of the origin
<br />% >> [tmin, flag] = arrayfun(@rayBoxGPU, min(:,1)', min(:,2)', min(:,3)', ...
<br />% max(:,1)', max(:,2)', max(:,3)', ...
<br />% or(:,1), or(:,2), or(:,3), ...
<br />% gD(:,1),gD(:,2),gD(:,3));
<br />% Step 3: recover data
<br />% distmin = gather(tmin);
<br />% flagBox = gather(flag);
<br />% Output is one mxn array containing a the distance from the ray-box
<br />% intersection to the origin or nan if no intersection is located (distmin)
<br />% and one mxn logical containing flags for ray-box intersections.</p>
<p>% Per-ray flags can be obtained from the output tmin using the following
<br />% method:
<br />% >> flagB = true(size(D,1),1);
<br />% >> flagB(sum(isnan(tmin),2) == size(min,1)) = false;
<br />% This may save transfer time off the GPU</p>
<p>% Dependencies: requires Parallel Computing Toolbox
<br />% Based upon the implementation by Jesus P. Mena-Chalco
<br />% Test data (testDataBox.mat) is provided with the package</p>Thomashttp://www.mathworks.com/matlabcentral/profile/authors/3752776-thomasMATLAB 8.1 (R2013a)Parallel Computing ToolboxThe implementation has only been tested on an NVidia K4000 Cuda enabled GPU.2683446502falsetag:www.mathworks.com,2005:FileInfo/496702015-02-11T23:47:25Z2015-02-13T20:39:47ZHardware accelerated ray-triangle intersectionGPU portable implementation of the ray-triangle intersection method of Moller and Trumbore (1997)<p>% Ray-triangle intersection algorithm of Muller and Trumbore (1997)
<br />% formatted for arrayfun to allow hardware acceleration
<br />% Call with gpuarray and arrayfun to execute on the GPU: thjs
<br />% may give two orders of magnitude speed up over vectorized
<br />% cpu based implementation
<br />% INPUT:
<br />% P0x, P0y, P0z / P1x, P1y, P1z / P2x, P2y, P2z: xyz components of the
<br />% triangle objects
<br />% orx, ory, orz: xyz componants of the ray origin
<br />% Dx, Dy, Dz: xyz components of the ray directional (unit) vectors
<br />% OUTPUT:
<br />% distOut: distance from from the ray-tri intersection to the origin or nan
<br />% if no intersection is located
<br />% flag: logical where true indicates intersection and false indicates
<br />% no intersection
<br />% Usage example:
<br />% Step 1: convert mx3 direction vectors, D = [Dx Dy Dz] to gpuarray object
<br />% >> gD = gpuArray(D);
<br />% Step 2: call rayTriGPU using arrayfun with scalar input formatting
<br />% where P0, P1, P2 are the nx3 vertex lists of the triangle corner points
<br />% and where or is the xyz coordinates of the origin
<br />% >> [dist, flag] = arrayfun(@rayTriGPU, P0(:,1)', P0(:,2)', P0(:,3)', ...
<br />% P1(:,1)', P1(:,2)', P1(:,3)', ...
<br />% P2(:,1)', P2(:,2)', P2(:,3)', ...
<br />% or(:,1), or(:,2), or(:,3), ...
<br />% gD(:,1),gD(:,2),gD(:,3));
<br />% Step 3: recover data
<br />% distances = gather(dist);
<br />% Output is an mxn array containing a the distance from the ray-tri
<br />% intersection to the origin or nan if no intersection is located
<br />% Implentation based upon that of Paul Peeling (originally from Jesus P.
<br />% Mena-Chalco of FEX), MathWorks (which returns a flag but not the
<br />% intersection distance).</p>
<p>% Per ray flags can be obtained from the output dist using the following
<br />% method:
<br />% >> flagT = true(size(D,1),1);
<br />% >> flagT(sum(isnan(dist),2) == size(P0,1)) = false;
<br />% This may save transfer time off the GPU</p>
<p>% Dependencies: requires Parallel Computing Toolbox
<br />% Test data (testDataTri.mat) is provided with the package </p>
<p>% references
<br />% Fast, Minimum Storage Ray/Triangle Intersection, Möller & Trumbore.
<br />% Journal of Graphics Tools, 1997.</p>Thomashttp://www.mathworks.com/matlabcentral/profile/authors/3752776-thomasMATLAB 8.1 (R2013a)Parallel Computing ToolboxThe implementation has only been tested on an NVidia K4000 Cuda enabled GPU.2505846502falsetag:www.mathworks.com,2005:FileInfo/491572015-01-25T19:38:07Z2015-01-31T04:57:28Zinpolygon_for_gpuinpolygon function that works using gpuArray<p>This is a point-in-polygon function that can run on a gpu using large test point array sizes. It uses a simple ray-casting algorithm without pre-processing or "on" tolerance checks. Therefore it may not give the exact same results as inpolygon. Inputs must all be gpuArray objects in order to run on the gpu. The inputs take the form of MATLAB's inpolygon function. The parallel process occurs once for every vertex of the polygon, so large numbers of vertices will run slow. I had to have around around 1e5-1e7 test points to see speedup on my simple gaming GPU on a polygon with 1e4 vertices. I am hoping that re-implementing this using mex CUDA code will result in faster run-times. For best results, the number of test points should be close to the maximum array size on your GPU.
<br />This implementation of the ray-casting algorithm is based on C code by W. Randolf Franklin, which can be found at <a href="http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html">http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html</a></p>
<p>Any advice is welcome on how to speed up this algorithm, or make it more useful. Thanks!</p>
<p>Example:</p>
<p>L = linspace(0,2.*pi,6);
<br />xv = gpuArray(cos(L)');
<br />yv = gpuArray(sin(L)');</p>
<p>pts_x=gpuArray(rand(1e5,1));
<br />pts_y=gpuArray(rand(1e5,1));</p>
<p>tic
<br />in=inpolygon_for_gpu(pts_x, pts_y, xv, ,yv);
<br />toc</p>Sulimon Sattarihttp://www.mathworks.com/matlabcentral/profile/authors/4255258-sulimon-sattariMATLAB 8.0 (R2012b)Parallel Computing ToolboxGPU device that supports NVIDIA CUDA codefalsetag:www.mathworks.com,2005:FileInfo/430732013-08-14T21:23:24Z2015-01-28T22:20:21ZImproved Digital Image Correlation (DIC)Calculate full-field displacements and strains from a set of images with a random speckle pattern.<p>Digital Image Correlation (DIC) is an optical, non-contact method to measure full-field displacements and strains. The only requirement is that the test specimen has a random speckle pattern on its surface, either generated by the experimentalist (i.e. random paint pattern) or occurring naturally (i.e. surface texture at large magnifications). There is no inherent length scale to DIC - by choosing the appropriate magnification of images and the corresponding speckle size, DIC can be used to measure displacements from the meter scale to the micron scale.
<br />This set of Matlab .m files forms a complete DIC code. Given a set of images taken periodically during deformation of a specimen, this code will analyze the images and output full-field displacements and full field strains over the field of view captured in the images. In contrast to commercially available DIC software, this code can be fully customized by the user by editing the .m files directly.
<br />Comments and questions about the code are welcomed. Please contact the author, Elizabeth Jones, at <a href="mailto:ElizabethMCJones@gmail.com">ElizabethMCJones@gmail.com</a>.
<br />If you would like to cite this code, please use the following two citations. The first is a peer-reviewed article in Experimental Mechanics that describes the basic algorithms used in the code. The second refers readers to this website, so that this DIC code can be more freely disseminated.</p>
<p>Jones E.M.C., Silberstein M.N., White, S.R., Sottos, N.R. In Situ Measurements of Strains in Composite Battery Electrodes during Electrochemical Cycling. Experimental Mechanics (2014) 54:971-985</p>
<p>Jones E.M.C. Improved digital image correlation (2013). <a href="http://www.mathworks.com/matlabcentral/fileexchange/43073-improved-digital-image-correlation--dic-">http://www.mathworks.com/matlabcentral/fileexchange/43073-improved-digital-image-correlation--dic-</a>
</p>Elizabeth Joneshttp://www.mathworks.com/matlabcentral/profile/authors/3384127-elizabeth-jonesMATLAB 8.4 (R2014b)Image Processing ToolboxParallel Computing ToolboxStatistics ToolboxMATLABVersion 1 of this code has been tested on a PC running Matlab R2012b, and on both a PC and a Mac running Matlab R2011a. Versions 2 and 3 of this code has been tested on a PC running Matlab R2012b and R2014b.35609falsetag:www.mathworks.com,2005:FileInfo/340802011-12-05T05:39:42Z2015-01-05T21:55:27ZGPUBenchCompare GPUs using standard numerical benchmarks in MATLAB.<p>GPUBENCH times different MATLAB GPU tasks and estimates the peak performance of your GPU in floating-point operations per second (FLOP/s). It produces a detailed HTML report showing how your GPU's performance compares to pre-stored performance results from a range of other GPUs.
<br />Note that this tool is designed for comparing GPU hardware. It does not compare GPU performance across different MATLAB releases.
<br />Requires MATLAB R2011b or above and a GPU with CUDA Compute Capability 1.3 or higher.</p>Parallel Computing Teamhttp://www.mathworks.com/matlabcentral/profile/authors/4855226-parallel-computing-teamMATLAB 7.13 (R2011b)Parallel Computing ToolboxMATLABGPU with CUDA Compute Capability 2.0 or higher.falsetag:www.mathworks.com,2005:FileInfo/467112014-10-10T18:06:28Z2014-12-10T21:06:51ZTutorials: Parallel and GPU Computing with MATLAB: All in one (9 parts)Tutorials on Parallel and GPU Computing with MATLAB<p>This submission contains all code examples used in tutorial series for Parallel and GPU Computing with MATLAB available here:
<br /><a href="http://www.mathworks.com/products/parallel-computing/tutorials.html">http://www.mathworks.com/products/parallel-computing/tutorials.html</a>
<br />Topics covered:
<br />1. Product Landscape (no code examples)
<br />2. Prerequisites and Setup (no code examples)
<br />3. Quick Success with parfor
<br />4. Deeper Insights into Using parfor
<br />5. Batch Processing
<br />6. Scaling to Clusters
<br />7. spmd - Parallel Code Beyond parfor
<br />8. Distributed Arrays
<br />9. GPU Computing with MATLAB</p>Parallel Computing Teamhttp://www.mathworks.com/matlabcentral/profile/authors/4855226-parallel-computing-teamMATLAB 8.4 (R2014b)Parallel Computing ToolboxMATLABA NVIDIA CUDA GPU with compute capability 2.0 or above is required for running GPU computing example codefalse