<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7716747799980827970</id><updated>2011-08-13T05:49:36.546-06:00</updated><category term='installation'/><category term='64-bit'/><category term='bug'/><category term='sc08'/><category term='gpuMatrix_Multiply'/><category term='IDL'/><category term='events'/><category term='precision'/><category term='GPULib 1.0.6'/><category term='memory'/><category term='Windows'/><category term='functions'/><category term='mailing list'/><category term='GPULib 1.0.8'/><category term='vnc'/><category term='GPULib 1.0.4'/><category term='GPULib 1.0.0'/><category term='GPULib 1.0.2'/><category term='MATLAB'/><category term='double precision'/><category term='drivers'/><category term='32-bit'/><category term='shift'/><category term='gpu_detect'/><category term='FFT'/><category term='remote desktop'/><category term='release'/><category term='OpenCL'/><category term='nvidia'/><category term='examples'/><category term='hardware'/><category term='announcements'/><title type='text'>GPULib</title><subtitle type='html'>A developer's diary of GPULib, a software library enabling GPU-accelerated calculations for IDL.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-2933931127697628630</id><published>2011-01-31T14:27:00.002-07:00</published><updated>2011-01-31T14:29:21.435-07:00</updated><title type='text'>GPULib 1.4.4 released!</title><content type='html'>&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;We are pleased to announce that GPULib 1.4.4 is available from the&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;a href="http://www.txcorp.com/products/GPULib" style="color: #2288bb; text-decoration: none;"&gt;Tech-X website&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;The following changes have been made for version 1.4.4:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Support for CUDA 3.2 (rather than CUDA 3.2 rc2)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added more extensive checks for issues in GPUINIT.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added ability to transpose 1-dimensional arrays like TRANSPOSE does.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Now handles ranges, index arrays, and * in any indexing position of an&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;array in the same manner as IDL.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Now can use single-dimensional indexing for multi-dimensional arrays.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Trying to create a view from discontinuous memory is now disallowed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed garbage collection issue with repeated assignment to the same&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;variable name.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed an issue whereby multiple calls to GPUINIT were causing&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&amp;nbsp;cudaErrorSetOnActiveProcess errors.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed memory allocation bug in GPUTRANSPOSE.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed typo in GPUMATRIX_MULTIPLY.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added unit tests for GPUTRANSPOSE, GPUMAXOP.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Now prints an error message when trying to create a view from discontinuous&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;memory.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed build issue on Mac OS X Leopard.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed several install issues for Windows when building from source.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Improvements to the QuickStartGuide for Windows.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed getDimensions bug for certain views.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added error checking for changing dimensions.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed memory leak in GPUFFT.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed errors in GPUMAXOP.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed failing unit tests of GPUMAXOP.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added missing demo file to install list.&lt;/span&gt;&lt;div style="color: black; font-family: Times; line-height: normal;"&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed digital signing of installer file.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed disappearing graphic in transform3d demo.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Corrected IDL_LIBDIR path.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed path of file gpulib_version.txt in CMakeLists.txt.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed full reduction in GPUTOTAL.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed -fPIC warnings when building from source on Windows.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed color table issue in GPU_SWIRL_DEMO.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Added "press q to stop" option to GPU_FDTD_DEMO.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; line-height: 18px;"&gt;Fixed flipped image in GPU_DECONHUBBLE_DEMO.&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: x-small; line-height: 18px;"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-2933931127697628630?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/2933931127697628630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=2933931127697628630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2933931127697628630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2933931127697628630'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2011/01/gpulib-144-released.html' title='GPULib 1.4.4 released!'/><author><name>Dave Wade-Stein</name><uri>http://www.blogger.com/profile/10520969734187244322</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-2372262225861904937</id><published>2010-11-15T12:33:00.000-07:00</published><updated>2010-11-15T12:33:12.511-07:00</updated><title type='text'>GPULib 1.4.2 released!</title><content type='html'>&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;We are pleased to announce that GPULib 1.4.2 is available from the&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;a href="http://www.txcorp.com/products/GPULib" style="color: #2288bb; text-decoration: none;"&gt;Tech-X website&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;For Windows users, the installer contains the following pre-built versions of GPULib 1.4.2:&lt;/div&gt;&lt;div style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;ol&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;32- or 64-bit single precision (compute capability 1.0) built with CUDA&amp;nbsp;3.2&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;32- or 64-bit double precision (compute capability 1.3) built with CUDA 3.2&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;32- or 64-bit Fermi (compute capability 2.0) built with CUDA 3.2&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;(As before, Windows users can opt to build GPULib from source if they so desire).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;The following changes have been made for version 1.4.2:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fixed make install so that appropriate files are now installed.&lt;/li&gt;&lt;li&gt;All demos cleaned up and numerous memory leaks fixed.&lt;/li&gt;&lt;li&gt;Created a new comprehensive PDF for Windows users, covering general use&amp;nbsp;as well as how to build from source.&lt;/li&gt;&lt;li&gt;Windows installation now includes all source files in a zip archive, so that users who are not building from source do not have their install folder&amp;nbsp;cluttered with source files.&lt;/li&gt;&lt;li&gt;gpuinit() now displays amount of free memory as well as total memory available on the device.&lt;/li&gt;&lt;li&gt;Fixed bug in GPUMATRIX_MULTIPLY.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Fixed several small bugs and memory leaks.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;We are grateful to Mort Canty and David Grier for submitting bug reports which led to fixes for this release!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-2372262225861904937?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/2372262225861904937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=2372262225861904937' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2372262225861904937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2372262225861904937'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2010/11/gpulib-142-released.html' title='GPULib 1.4.2 released!'/><author><name>Dave Wade-Stein</name><uri>http://www.blogger.com/profile/10520969734187244322</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6094098297944074790</id><published>2010-10-01T13:29:00.000-06:00</published><updated>2010-10-01T13:29:05.976-06:00</updated><title type='text'>GPULib 1.4.0 released!</title><content type='html'>We are pleased to announce that GPULib 1.4.0 is available from the &lt;a href="http://www.txcorp.com/products/GPULib"&gt;Tech-X website&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For Windows users, we created an installer which installs one of the following pre-built versions of GPULib 1.4.0:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;32- or 64-bit single precision (compute capability 1.0) built with CUDA&amp;nbsp;3.1&lt;/li&gt;&lt;li&gt;32- or 64-bit double precision (compute capability 1.3) built with CUDA 3.1&lt;/li&gt;&lt;li&gt;32- or 64-bit Fermi (compute capability 2.0) built with CUDA 3.1&lt;/li&gt;&lt;li&gt;32-bit single precision (compute capability 1.0) built with CUDA&amp;nbsp;2.3&lt;/li&gt;&lt;li&gt;32-bit double precision (compute capability 1.3) built with CUDA 2.3&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;(As before, Windows users can opt to build GPULib from source.)&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In addition, the following changes have been made:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Now builds with CMake for cross-platform compatibility.&lt;/li&gt;&lt;li&gt;Now supports CUDA streams, enabling concurrent execution of multiple kernels.&lt;/li&gt;&lt;li&gt;Now supports asynchronous data transfer.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Now leverages new features of IDL 8.0 enabling more seamless integration&amp;nbsp;between the two products.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Includes a variety of new algorithms, such as functions for sorting and large&amp;nbsp;histogramming.&amp;nbsp;&lt;/li&gt;&lt;li&gt;gpuinit() now provides additional information, including GPULib version and model of your CUDA-enabled card, and additionally performs a small allocation to ensure the card is available.&lt;/li&gt;&lt;li&gt;Demos updated to fail gracefully if you do not have enough memory on your card, or if your card does not have the compute capability to run the demo.&lt;/li&gt;&lt;li&gt;Fixed a bug whereby assigning a regular IDL variable to a slice failed.&lt;/li&gt;&lt;li&gt;gpushift() fixed for the case where a dimension is shifted by 0.&lt;/li&gt;&lt;li&gt;Fixed problems with gpuInterpolate functions.&lt;/li&gt;&lt;li&gt;Fixed memory leak in gpufix().&lt;/li&gt;&lt;li&gt;Fixed memory leak in gpufft().&lt;/li&gt;&lt;li&gt;MATLAB support has been dropped.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6094098297944074790?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6094098297944074790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6094098297944074790' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6094098297944074790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6094098297944074790'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2010/10/gpulib-140-released.html' title='GPULib 1.4.0 released!'/><author><name>Dave Wade-Stein</name><uri>http://www.blogger.com/profile/10520969734187244322</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-466617748385244116</id><published>2009-11-17T16:09:00.007-07:00</published><updated>2009-11-17T16:22:14.038-07:00</updated><title type='text'>GPULib 1.2.2 Released</title><content type='html'>&lt;div&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;GPULib 1.2.2 is now available from the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.txcorp.com/products/GPULib"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Tech-X website&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;We've made extensive changes to the build system, which is now cleaner and more robust.&amp;nbsp;Full release notes follow.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Build system changes&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Added --with-extra-nvcc-flags=... to configure which allows extra flags to&amp;nbsp;be passed to nvcc.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- If --prefix is not set, make install will fail gracefully, instead of attempting to install in /.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;-&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Fixed --with-matlab-dir=... configure option.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Added IDL and MATLAB configuration info to config.summary to make it easier&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; to troubleshoot problem.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Added several missing Windows build files.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Removed several obsolete files and directories.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Running 'make clean' will not affect documentation.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Running 'make install' will properly build code if not already built.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Install directory is now laid out properly.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed "No rule to make target `docs/GPULib_UsersGuide.pdf', needed by&amp;nbsp;`all-am'" error.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;IDL&amp;nbsp; changes &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed bug whereby FFT was only operating on a single row.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed bug whereby GPUPOW was not found.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Corrected bwtest example.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed time reporting for FDTD demo.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed typo in FDTD demo README.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;MATLAB&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt; changes&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Added potential to specify the device number form gpuInit() and accInit().&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed Bug in gpuSet function.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #333333;"&gt;&lt;span style="line-height: 19px;"&gt;&lt;span style="color: black; line-height: normal;"&gt;&lt;b&gt;&lt;span style="font-weight: normal;"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;span style="font-size: small;"&gt;- Fixed Makefile which was incorrect for 32-bit Linux.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-466617748385244116?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/466617748385244116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=466617748385244116' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/466617748385244116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/466617748385244116'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/11/gpulib-122-released.html' title='GPULib 1.2.2 Released'/><author><name>Dave Wade-Stein</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-4451127803606405603</id><published>2009-11-17T15:33:00.001-07:00</published><updated>2009-11-17T16:13:34.871-07:00</updated><title type='text'>2nd edition of Mort Canty's book uses GPULib</title><content type='html'>&lt;p&gt;From the CRC Press site for &lt;a href="http://www.crcpress.com/product/isbn/9781420087130"&gt;Image Analysis, Classification, and Change Detection in Remote Sensing: With Algorithms for ENVI/IDL, Second Edition&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This popular introduction to the processing of remote sensing imagery has been updated to include coverage of the latest versions of the ENVI software environment. This new edition covers support vector machines and other kernel-based methods. Illustrating many programming examples in the array-oriented language ID, the text includes coverage of basic Fourier, wavelet, principal components and minimum noise fraction transformations; convolution filters, topographic modeling, image-to-image registration and ortho-rectification; image fusion; supervised and unsupervised land cover classification with neural networks; hyperspectral analysis; multivariate change detection.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I was excited to hear that &lt;a href="http://www.txcorp.com/products/GPULib/"&gt;GPULib&lt;/a&gt; was used in this version of the book. Mort says:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In the text I discuss routines for nonlinear principal component analysis, supervised classification and nonlinear clustering, and explain that they can take advantage of GPULib/CUDA, if installed. (I use your routine GPU_DETECT() to check for GPULib).&lt;/p&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-4451127803606405603?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/4451127803606405603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=4451127803606405603' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4451127803606405603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4451127803606405603'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/11/2nd-edition-of-mort-cantys-book-uses.html' title='2nd edition of Mort Canty&apos;s book uses GPULib'/><author><name>Michael Galloy</name><uri>http://www.blogger.com/profile/12703301797790392472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_SS8nCaKvLQ0/Spn6_Ff_swI/AAAAAAAABss/f02C6BYScWs/S220/me-newglasses-small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-2177233501819963883</id><published>2009-07-24T22:38:00.003-06:00</published><updated>2009-07-24T22:43:28.220-06:00</updated><title type='text'>GPULib docs from ENVI menu</title><content type='html'>&lt;a href="http://fwenvi-idl.blogspot.com/2009/07/gpulib-12.html"&gt;A recent post&lt;/a&gt; by Mort Canty provides a handy program that adds an item to ENVI's help menu that will bring up the GPULib docs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-2177233501819963883?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/2177233501819963883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=2177233501819963883' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2177233501819963883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2177233501819963883'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/07/gpulib-docs-from-envi-menu.html' title='GPULib docs from ENVI menu'/><author><name>Michael Galloy</name><uri>http://www.blogger.com/profile/12703301797790392472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_SS8nCaKvLQ0/Spn6_Ff_swI/AAAAAAAABss/f02C6BYScWs/S220/me-newglasses-small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6880120356716096229</id><published>2009-07-14T21:52:00.004-06:00</published><updated>2009-07-14T22:05:26.788-06:00</updated><title type='text'>GPULib 1.2 released</title><content type='html'>&lt;p&gt;GPULib 1.2 is available from the &lt;a href="http://www.txcorp.com/products/GPULib/"&gt;Tech-X website&lt;/a&gt;. This release focused on improved MATLAB bindings with a few important bug fixes for the IDL bindings along with a few new kernels. Full release notes follow:&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;Changes/new features in GPULib version 1.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;General&lt;/span&gt;&lt;br /&gt;&lt;p&gt;The main focus of this release is on the improved MATLAB bindings. Some new kernels were added since the release of version 1.0.8.&lt;/p&gt;&lt;span style="font-weight: bold;"&gt;GPULib kernels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;gpuAtan2, gpuFmod, gpuPow&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IDL bindings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Support for the new kernels.  For the time being, these funtions only support float and double (so no complex types) and no affine transform arguments.&lt;br /&gt;- Added example bwtest.pro showing the use of page-locked variables for fast CPU/GPU data transfer.&lt;br /&gt;- Added finite-different time-domain example demonstrating the use of views for efficient array sub-selection&lt;br /&gt;- Added spectral angle mapper example.&lt;br /&gt;- Bug fixes for decon_hubble example&lt;br /&gt;- improved documentation&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MATLAB bindings&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;MATLAB GPULib version 1.2 has many major changes from the previous release. READ the README!&lt;br /&gt;&lt;br /&gt;First and foremost, there are two distinct and completely separate interfaces to the library. They should NEVER be intermingled.&lt;br /&gt;&lt;br /&gt;1.) The accArray class replaces the old gpuArray class from the previous release. This interface requires MATLAB R2008a or higher. This interface hass automatic garbage collection, overloaded operators, and overloaded versions of native MATLAB functions, ...&lt;br /&gt;2.) "gpu" interface class can be used with older versions of MATLAB though it's not clear how far back one can go.&lt;br /&gt;&lt;br /&gt;The interface was redesigned for speed. The accArray class is about 2.5X faster than the gpuArray interface for many functions tested. Some of the "gpu"-prefixed functions can be up to 10X faster than the gpuArray interface.&lt;br /&gt;&lt;br /&gt;MATLAB GPULib has many new functions including&lt;br /&gt;1.) fft, ifft, fft2, and ifft2&lt;br /&gt;2.) Reduction operations, including sum, cumsum, prod, cumprod,... These functions support 1D vectors and 2D matrices currently.&lt;br /&gt;3.) Single (Complex) and Double (Complex) precision versions of Matrix Multiplication, Transpose and Complex Conjugate Transpose.&lt;br /&gt;&lt;br /&gt;The accArray class does not support the subsref.m (i.e. b=A(i)), subsasgn.m (i.e. A(i)=b), or array concatentation functions like A=[B; C; D], These will be supported in future releases.&lt;br /&gt;&lt;br /&gt;The "gpu" interface supports subscripting through the gpuSubsref, gpuSubsasgn, and gpuSub2ind functions.&lt;br /&gt;&lt;br /&gt;Both interfaces support page-locked host memory allocation via cudaMallocHost. This gives the possibility of much faster memory transfer from CPU memory to GPU memory and back.&lt;br /&gt;&lt;br /&gt;Both interfaces include more comprehensive native MATLAB-like documentation.&lt;br /&gt;&lt;br /&gt;New examples include: bench, bwtest, fdtd, and fftExample.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6880120356716096229?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6880120356716096229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6880120356716096229' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6880120356716096229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6880120356716096229'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/07/gpulib-12-released.html' title='GPULib 1.2 released'/><author><name>Michael Galloy</name><uri>http://www.blogger.com/profile/12703301797790392472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_SS8nCaKvLQ0/Spn6_Ff_swI/AAAAAAAABss/f02C6BYScWs/S220/me-newglasses-small.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7640947285462850326</id><published>2009-05-08T11:04:00.002-06:00</published><updated>2009-05-08T11:10:43.147-06:00</updated><title type='text'>GPULib slides from VISualize 2009</title><content type='html'>Here are the &lt;a href="http://www.txcorp.com/pdf/GPULib/VISualize09_GPULib.pdf"&gt;slides&lt;/a&gt; from Peter Messmer's GPULib talk at &lt;a href="http://guest.cvent.com/EVENTS/Info/Summary.aspx?e=a2def77e-b284-4fc4-9679-bb74f39d41fe"&gt;VISualize 2009&lt;/a&gt; a couple weeks ago. Peter and I also stayed around after the IDL presentations to do hands on training for GPULib. The training was well attended; it was good to see the interest in GPU computing with IDL. Most people did not bring a laptop, making it less “hands on” than we had originally intended, but it was good to be able to answer individual questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7640947285462850326?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7640947285462850326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7640947285462850326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7640947285462850326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7640947285462850326'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/05/gpulib-slides-from-visualize-2009.html' title='GPULib slides from VISualize 2009'/><author><name>Michael Galloy</name><uri>http://www.blogger.com/profile/12703301797790392472</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://3.bp.blogspot.com/_SS8nCaKvLQ0/Spn6_Ff_swI/AAAAAAAABss/f02C6BYScWs/S220/me-newglasses-small.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-1553867761371840065</id><published>2009-04-21T09:27:00.002-06:00</published><updated>2009-04-21T09:31:33.414-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenCL'/><category scheme='http://www.blogger.com/atom/ns#' term='nvidia'/><title type='text'>NVIDIA Releases OpenCL Driver</title><content type='html'>OpenCL is officially out -- have a look at the &lt;a href="http://sev.prnewswire.com/computer-electronics/20090420/SF0134620042009-1.html"&gt;press release&lt;/a&gt;, or the &lt;a href="http://www.nvidia.com/object/cuda_opencl.html"&gt;OpenCL site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-1553867761371840065?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/1553867761371840065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=1553867761371840065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1553867761371840065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1553867761371840065'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/04/nvidia-releases-opencl-driver.html' title='NVIDIA Releases OpenCL Driver'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6856747626827657880</id><published>2009-03-16T11:11:00.003-06:00</published><updated>2009-03-16T11:17:22.655-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gpu_detect'/><category scheme='http://www.blogger.com/atom/ns#' term='examples'/><category scheme='http://www.blogger.com/atom/ns#' term='functions'/><title type='text'>Detecting presense of GPULib</title><content type='html'>Over the weekend, a user (&lt;a href="http://fwenvi-idl.blogspot.com/"&gt;Mort Canty&lt;/a&gt;) asked the &lt;a href="https://ice.txcorp.com/mailman/listinfo/gpulib-users"&gt;GPULib user's mailing list&lt;/a&gt; for a way to detect the presence.  One of our developers wrote a routine to do just that, and I thought it might be of use to other GPULib users as well.&lt;br /&gt;&lt;br /&gt;Below is the routine GPU_DETECT that will return a boolean indicating if GPULib is present. It will also initialize the GPU if it finds GPUINIT.  If you have any questions, feel free to ask!&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;; docformat = 'rst'&lt;br /&gt;&lt;br /&gt;;+&lt;br /&gt;; Initializes GPULib if it is present.&lt;br /&gt;;&lt;br /&gt;; :Returns:&lt;br /&gt;;    1 if GPULib is present, 0 if not&lt;br /&gt;;&lt;br /&gt;; :Params:&lt;br /&gt;;    devId: in, optional, type=numtype&lt;br /&gt;;       id of the GPU device to be used for GPU computations&lt;br /&gt;;&lt;br /&gt;; :Keywords:&lt;br /&gt;;    _ref_extra : in, optional, type=keywords&lt;br /&gt;;       keywords to GPUINIT&lt;br /&gt;;-&lt;br /&gt;function gpu_detect, devId, _ref_extra=e&lt;br /&gt;  compile_opt strictarr&lt;br /&gt; &lt;br /&gt;  catch, error&lt;br /&gt;  if (error ne 0L) then begin&lt;br /&gt;    catch, /cancel&lt;br /&gt;    return, 0&lt;br /&gt;  endif&lt;br /&gt; &lt;br /&gt;  gpuinit, devId, _extra&lt;br /&gt; &lt;br /&gt;  return, 1&lt;br /&gt;end&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6856747626827657880?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6856747626827657880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6856747626827657880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6856747626827657880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6856747626827657880'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/03/detecting-presense-of-gpulib.html' title='Detecting presense of GPULib'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7764496695985601836</id><published>2009-02-27T16:45:00.003-07:00</published><updated>2009-02-27T16:51:29.329-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.8'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>GPULib 1.0.8 update available</title><content type='html'>GPULib 1.0.8 is available at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gpulib.txcorp.com"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This release is addressing several bugs pointed out by users; we're still working on the MATLAB refactoring for a future version.  As always, if you have any questions, feel free to post in the comments, the &lt;a href="http://ice.txcorp.com/mailman/listinfo/gpulib-users"&gt;GPULib mailing list&lt;/a&gt;, or contact us directly at &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, one note; during testing of this release, we found some problems with using it on Windows Vista.  We're looking for solutions, but at the moment XP is the better choice for running GPULib.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7764496695985601836?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7764496695985601836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7764496695985601836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7764496695985601836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7764496695985601836'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/02/gpulib-108-update-available.html' title='GPULib 1.0.8 update available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3837606658848260490</id><published>2009-01-22T10:42:00.003-07:00</published><updated>2009-01-22T10:49:17.386-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDL'/><category scheme='http://www.blogger.com/atom/ns#' term='64-bit'/><category scheme='http://www.blogger.com/atom/ns#' term='32-bit'/><title type='text'>32- vs. 64-bit IDL on Mac OS X</title><content type='html'>IDL 7.0.4 was recently released, providing full 64-bit support for Mac OS X, and some users who have upgraded have asked how this impacts GPULib, as using the library when running IDL in 64-bit mode doesn't work.&lt;br /&gt;&lt;br /&gt;Currently, in order to build 64-bit code using GCC on OS X, one needs to set an additional flag, depending on the architecture targeted. We don't do this at the moment for GPULib, so it defaults to building the more compatible 32-bit libraries.  Full details at&lt;br /&gt;&lt;a href="http://developer.apple.com/documentation/Darwin/Conceptual/64bitPorting/building/chapter_5_section_2.html"&gt;&lt;br /&gt;http://developer.apple.com/documentation/Darwin/Conceptual/64bitPorting/building/chapter_5_section_2.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Apple goes so far as to say, "You should transition your application to a 64-bit executable format only when the 64-bit environment offers a compelling advantage for your specific application."  We haven't switched to using 64-bit libraries with GPULib on Mac OS X, since thus far there hasn't been a need.  If you do need the extra address space using GPULib, please let us know!  Otherwise, you can add the "-32" flag to IDL 7.0.4 and run IDL in 32-bit mode, which will be compatible with the current release of GPULib.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3837606658848260490?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3837606658848260490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3837606658848260490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3837606658848260490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3837606658848260490'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/01/32-vs-64-bit-idl-on-mac-os-x.html' title='32- vs. 64-bit IDL on Mac OS X'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6159714846843682420</id><published>2009-01-13T14:12:00.003-07:00</published><updated>2009-01-13T14:14:46.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDL'/><category scheme='http://www.blogger.com/atom/ns#' term='shift'/><title type='text'>Performing a shift in IDL with GPULib</title><content type='html'>A couple of users recently asked about doing a shift of a matrix using GPULib.  While there is no interface that mimics 'shift' at the moment, all the functionality for shifting arrays is there.  For example, you can use the following to shift an array along the x-direction:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; x = findgen(5, 5)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; print, x&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     0.00000      1.00000      2.00000      3.00000      4.00000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     5.00000      6.00000      7.00000      8.00000      9.00000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     10.0000      11.0000      12.0000      13.0000      14.0000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     15.0000      16.0000      17.0000      18.0000      19.0000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     20.0000      21.0000      22.0000      23.0000      24.0000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; a = gpuPutArr(x)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; b = gpuFltarr(5, 5)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;; here comes the actual shift:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;; we first perform b[0:3, *] = a[1:*, *]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;; see the documentation for 'gpuSubArr' for an&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;; explanation of the arguments.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; gpuSubArr, a, [1, -1], -1, b, [0, 3], -1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;; and then         b[4, * ] = a[0,*]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; gpuSubArr, a, 0, -1, b, 4, -1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; res = gpuGetArr(b)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; print, res&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     1.00000      2.00000      3.00000      4.00000      0.00000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     6.00000      7.00000      8.00000      9.00000      5.00000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     11.0000      12.0000      13.0000      14.0000      10.0000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     16.0000      17.0000      18.0000      19.0000      15.0000&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;     21.0000      22.0000      23.0000      24.0000      20.0000&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Shifts in other directions can be implemented similarly. This is not the fastest possible shift, but at least it should allow you to perform the shift on the GPU, rather than transferring it back to the CPU.&lt;br /&gt;&lt;br /&gt;As always, if you have questions about this or any other use of GPULib, feel free to leave comments here, or email us at &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6159714846843682420?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6159714846843682420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6159714846843682420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6159714846843682420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6159714846843682420'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/01/performing-shift-in-idl-with-gpulib.html' title='Performing a shift in IDL with GPULib'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-2648953896173530819</id><published>2009-01-13T10:27:00.002-07:00</published><updated>2009-01-13T10:37:25.597-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><category scheme='http://www.blogger.com/atom/ns#' term='double precision'/><title type='text'>Double precision and GPULib</title><content type='html'>A few users have asked about double precision calculations using GPULib.  I thought I'd try to clear up some common questions.&lt;br /&gt;&lt;br /&gt;First, you may notice when running the GPULib unit tests in IDL (using 'make check') that the double precision tests fail.  There are two reasons for this.  First, not all CUDA-enabled hardware is capable of double precision calculations -- currently, the GTX 200 series are the only cards that can do this; check the NVIDIA Web site for details on your specific card.&lt;br /&gt;&lt;br /&gt;Secondly, you may need to update your video card drivers.  We've had some issues with the 177.x series of CUDA drivers, but the 180.x series is doing much better.  I'd recommend upgrading to the most recent drivers available from NVIDIA in any case, as they are constantly improving both features and performance.  The downloads are available at &lt;a href="http://www.nvidia.com/object/cuda_get.html"&gt;http://www.nvidia.com/object/cuda_get.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-2648953896173530819?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/2648953896173530819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=2648953896173530819' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2648953896173530819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2648953896173530819'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2009/01/double-precision-and-gpulib.html' title='Double precision and GPULib'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7422171890305714678</id><published>2008-12-17T18:15:00.002-07:00</published><updated>2008-12-17T18:17:07.671-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FFT'/><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.6'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>GPULib 1.0.6 update available</title><content type='html'>We've just released GPULib 1.0.6 at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gpulib.txcorp.com"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This fixes a bug for Windows users relating to using FFT calls.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7422171890305714678?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7422171890305714678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7422171890305714678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7422171890305714678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7422171890305714678'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/12/gpulib-106-update-available.html' title='GPULib 1.0.6 update available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3420653419719613461</id><published>2008-12-16T17:22:00.003-07:00</published><updated>2008-12-16T17:24:30.765-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MATLAB'/><title type='text'>MATLAB bindings undergoing major redesign</title><content type='html'>We're currently doing a major redesign of the MATLAB bindings for GPULib -- if all goes well, they should be done sometime in the next few weeks.  If you have any questions about using MATLAB with GPULib, please let us know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3420653419719613461?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3420653419719613461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3420653419719613461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3420653419719613461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3420653419719613461'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/12/matlab-bindings-undergoing-major.html' title='MATLAB bindings undergoing major redesign'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3530237595679398768</id><published>2008-12-16T16:54:00.002-07:00</published><updated>2008-12-16T17:01:34.045-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='64-bit'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.4'/><title type='text'>GPULib 1.0.4 update available</title><content type='html'>GPULib 1.0.4 is now available at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.txcorp.com/products/GPULib/"&gt;http://www.txcorp.com/products/GPULib/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This release contains various bug fixes for IDL, as well as 64 bit DLLs for IDL and MATLAB for Windows users.&lt;br /&gt;&lt;br /&gt;Thanks for the comments and bug reports -- keep telling us what you'd like in GPULib, and we'll keep developing the software to meet your needs.  And, as always, feel free to leave comments in the blog or email us at &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt; with questions, comments, or suggestions.  Finally, if you're at the &lt;a href="http://www.agu.org/meetings/fm08/"&gt;AGU&lt;/a&gt; meeting in San Francisco this week, stop by the Tech-X booth (#2114) and say hello!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3530237595679398768?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3530237595679398768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3530237595679398768' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3530237595679398768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3530237595679398768'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/12/gpulib-104-update-available.html' title='GPULib 1.0.4 update available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-797722316962608800</id><published>2008-12-10T14:50:00.003-07:00</published><updated>2008-12-10T14:57:18.647-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='precision'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>GPULib tidbits</title><content type='html'>We continue to get questions and suggestions from users -- thanks for your input!  Some of the same questions have come up, so I thought I'd try to address them here.&lt;br /&gt;&lt;br /&gt;To get some extra information on the GPU hardware (including memory available), you can do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; cardID = 0L ; the card ID you want to know more about&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; err = cudaGetDeviceProperties(prop, cardID)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; print, prop.name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;IDL&gt; help, prop, /struct&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The wrapper is a bit rough (it's a low level CUDA function), but it gives you a lot of useful information.  Remember that your application will be limited by the amount of memory available on the GPU card -- if you go past this limit, you'll get unpredictable behavior.&lt;br /&gt;&lt;br /&gt;We've also had some questions about the difference between CPU and GPU calculations.  Right now we're shipping the library with the 'enable-fast-math' option turned on in CUDA. This uses the fastest, but least IEEE compliant form for floating point operations.  It could easily be turned off and still yield good performance (as we're mainly memory bandwidth limited), and we may switch to this build method in the future.  Hard numbers for the precision of GPU calculations can be found in the the CUDA user manual. In one of the appendices it has some documentation on the error bounds of the individual functions. It's usually within the last two bits of the mantissa.&lt;br /&gt;&lt;br /&gt;Finally, som users are looking at investing in new hardware on which to run GPULib, and were looking for recommendations and comparison for different CUDA-enabled hardware.  A starting point for evaluating such cards is at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nvidia.com/object/cuda_learn_products.html"&gt;http://www.nvidia.com/object/cuda_learn_products.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cost runs from left to right, performance runs roughly from top to bottom.  If double support is important for your application, you have to go with either a GTX 260/280, a C1060, or the FX5800 right now.&lt;br /&gt;&lt;br /&gt;If you have any questions about this (or anything else related to GPULib), feel free to post comments below, or email the user's list or Tech-X support.  We're still working on the next release (1.0.4), and we'll let you know as soon as it's available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-797722316962608800?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/797722316962608800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=797722316962608800' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/797722316962608800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/797722316962608800'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/12/gpulib-tidbits.html' title='GPULib tidbits'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7559095356662362043</id><published>2008-11-21T11:26:00.002-07:00</published><updated>2008-11-21T11:29:11.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gpuMatrix_Multiply'/><category scheme='http://www.blogger.com/atom/ns#' term='bug'/><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.2'/><title type='text'>Bug in gpuMatrix_Multiply</title><content type='html'>A user recently reported a bug in the current version of GPULib:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The procedure gpuMatrix_Multiply calls the function gpuMatrixMultiply().&lt;br /&gt;That should be gpuMatrix_Multiply(), i.e., with the underscore.&lt;/blockquote&gt;&lt;br /&gt;There was a typo in this function in the GPULib 1.0.2 release.  As a workaround, you can edit the file&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;IDL/lib/gpumatrix_multiply.pro&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;to include the underscore in the call to gpuMatrix_Multiply().  This bug (and others) have been fixed and will be out for the 1.0.4 version of GPULib, coming soon.&lt;br /&gt;&lt;br /&gt;Thanks for the bug report -- if anyone finds any other issues, please let us know and we'll address them as soon as possible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7559095356662362043?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7559095356662362043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7559095356662362043' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7559095356662362043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7559095356662362043'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/bug-in-gpumatrixmultiply.html' title='Bug in gpuMatrix_Multiply'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-2567260956160540346</id><published>2008-11-20T10:56:00.003-07:00</published><updated>2008-11-20T11:10:10.305-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote desktop'/><category scheme='http://www.blogger.com/atom/ns#' term='vnc'/><title type='text'>Using Remote Desktop with GPULib</title><content type='html'>We had a question recently from a user attempting to use &lt;a href="http://en.wikipedia.org/wiki/Remote_Desktop_Protocol"&gt;Remote Desktop&lt;/a&gt; to run &lt;a href="http://gpulib.txcorp.com"&gt;GPULib&lt;/a&gt; on a Windows machine.  Unfortunately, this is a known limitation of CUDA; due to the way Remote Desktop functions, CUDA (and therefore, GPULib) won't function properly.&lt;br /&gt;&lt;br /&gt;However, there is a bit of a workaround -- you can use &lt;a href="http://en.wikipedia.org/wiki/Vnc"&gt;VNC&lt;/a&gt; instead of Remote Desktop to access the machine remotely.  VNC essentially screen-scrapes instead of trying to be clever about display APIs, so while display performance will not be as good as using Remote Desktop it should run GPULib applications just fine.  Some developers on the NVIDIA discussion suggest a hybrid approach -- the use Remote Desktop to access the remote machine when developing code, and VNC when running it.  Using VNC also has the advantage of being platform-independent; both client and server could be Linux, OS X, or Windows.&lt;br /&gt;&lt;br /&gt;There are several implementations of VNC, including:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.tightvnc.com/"&gt;TightVNC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.realvnc.com/index.html"&gt;RealVNC&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/projects/cotvnc/"&gt;Chicken of the VNC&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-2567260956160540346?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/2567260956160540346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=2567260956160540346' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2567260956160540346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/2567260956160540346'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/using-remote-desktop-with-gpulib.html' title='Using Remote Desktop with GPULib'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7297233695330435337</id><published>2008-11-19T14:45:00.003-07:00</published><updated>2008-11-19T14:48:36.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.2'/><title type='text'>GPULib 1.0.2 update available</title><content type='html'>A user discovered a bug when using GPULib 1.0.0 on Windows (the issue described in the earlier post) and we've corrected that in GPULib 1.0.2, released this afternoon.  To obtain this update, visit the download link at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gpulib.txcorp.com"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks for the bug reports and questions!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7297233695330435337?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7297233695330435337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7297233695330435337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7297233695330435337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7297233695330435337'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/gpulib-102-update-available.html' title='GPULib 1.0.2 update available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3880355540331324189</id><published>2008-11-19T13:13:00.003-07:00</published><updated>2008-11-19T15:30:36.564-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDL'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Error: "Attempt to call undefined procedure/function: 'GPUADD'."</title><content type='html'>Some users have seen the following error when using GPULib's IDL bindings:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;IDL&gt; gpuinit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;% Attempt to call undefined procedure/function: 'GPUADD'.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;% Error occurred at: GPUINIT           137 C:\Documents and&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Settings\Sizemore\Desktop\gpulib-1.0.0\IDL\lib\gpuinit.pro&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;%                    $MAIN$          &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;% Execution halted at: $MAIN$&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If this happens to you, you may need to copy the file IDL\lib\gpuinit.pro.orig to IDL\lib\gpuinit.pro, overwriting the original gpuinit.pro file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;UPDATE&lt;/span&gt;: We've released a new version of GPULib, v1.0.2, that fixes this error.  See&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gpulib.txcorp.com"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;to get the new version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3880355540331324189?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3880355540331324189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3880355540331324189' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3880355540331324189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3880355540331324189'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/error-attempt-to-call-undefined.html' title='Error: &quot;Attempt to call undefined procedure/function: &apos;GPUADD&apos;.&quot;'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-5956877915147371298</id><published>2008-11-18T15:16:00.003-07:00</published><updated>2008-11-18T15:28:48.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='announcements'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='GPULib 1.0.0'/><title type='text'>GPULib 1.0.0 is available!</title><content type='html'>Tech-X Corporation is pleased to announce that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GPULib&lt;/span&gt; 1.0.0 has been released.  This first major release contains full bindings for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;IDL&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;MATLAB&lt;/span&gt;, as well as header files for C.  Python bindings are also included.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;GPULib&lt;/span&gt; is available for Linux, Mac OS X, and Windows -- the release includes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;pre&lt;/span&gt;-built &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;DLLs&lt;/span&gt; for Windows users, as well as build files for all platforms.  Full details are at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://gpulib.txcorp.com/"&gt;http://gpulib.txcorp.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;GPULib&lt;/span&gt; is available for non-commercial use under &lt;a href="http://www.gnu.org/licenses/agpl.txt"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;AGPL&lt;/span&gt;&lt;/a&gt;, as well as &lt;a href="http://www.txcorp.com/pdf/GPULib/GPULib-LicenseAgreement.pdf"&gt;commercial licensing&lt;/a&gt; from Tech-X.&lt;br /&gt;&lt;br /&gt;We'd like to thank all of the beta testers who asked questions, provided suggestions, and pointed out bugs in the code. :-)  We'll keep working on improving the software, so please continue to tell us how we can best make the code suit your needs.  The &lt;a href="http://ice.txcorp.com/mailman/listinfo/gpulib-users"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;GPULib&lt;/span&gt; User's List&lt;/a&gt; is a good place to contact us, as well as your fellow &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;GPULib&lt;/span&gt; users.  You can also email us at &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt; if you run into technical issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-5956877915147371298?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/5956877915147371298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=5956877915147371298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/5956877915147371298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/5956877915147371298'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/gpulib-100-is-available.html' title='GPULib 1.0.0 is available!'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3696473099488076325</id><published>2008-11-18T11:18:00.003-07:00</published><updated>2008-11-18T11:19:42.713-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='announcements'/><category scheme='http://www.blogger.com/atom/ns#' term='mailing list'/><title type='text'>GPULib users mailing list</title><content type='html'>We now have mailing list set up for users of GPULib.  To sign up, go to&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ice.txcorp.com/mailman/listinfo/gpulib-users"&gt;http://ice.txcorp.com/mailman/listinfo/gpulib-users&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Questions, feature requests, feedback, etc. are all welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3696473099488076325?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3696473099488076325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3696473099488076325' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3696473099488076325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3696473099488076325'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/gpulib-users-mailing-list.html' title='GPULib users mailing list'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-170079853738314009</id><published>2008-11-17T10:20:00.003-07:00</published><updated>2008-11-17T10:25:34.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sc08'/><category scheme='http://www.blogger.com/atom/ns#' term='events'/><title type='text'>Tech-X at SC08 -- booth 1324</title><content type='html'>If you're attending &lt;a href="http://sc08.supercomputing.org/"&gt;SC08&lt;/a&gt; in Austin, TX this week, please stop by and visit the &lt;a href="http://www.txcorp.com"&gt;Tech-X&lt;/a&gt; booth -- we're number 1324.  &lt;a href="http://gpulib.txcorp.com"&gt;GPULib&lt;/a&gt; developers will be available to answer any questions you might have, as well as to talk about plans for new features in upcoming versions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-170079853738314009?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/170079853738314009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=170079853738314009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/170079853738314009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/170079853738314009'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/tech-x-at-sc08-booth-1324.html' title='Tech-X at SC08 -- booth 1324'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-5519695997732098477</id><published>2008-11-07T13:28:00.005-07:00</published><updated>2008-11-07T14:15:33.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='announcements'/><title type='text'>GPULib 1.0 at SC08</title><content type='html'>&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Tech-X will be releasing the 1.0 version of GPULib at SC08.  This supercomputing conference runs from November 15-21, 2008 and will be held in Austin, TX.  Full details are at&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); "&gt;&lt;a href="http://sc08.supercomputing.org/"&gt;http://sc08.supercomputing.org/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;If you're going to be at the conference, feel free to stop by the Tech-X booth to see demos of GPULib and chat with some of the developers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;Thanks for all of your feedback from the various beta releases, including the most recent 0.5 beta.  We've gotten many good comments and suggestions -- keep them coming!  You can contact us by leaving comments on the blog, or sending email to &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt;We hope GPULib continues to help you speed up your applications.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-5519695997732098477?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/5519695997732098477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=5519695997732098477' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/5519695997732098477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/5519695997732098477'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/gpulib-10-at-sc08.html' title='GPULib 1.0 at SC08'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-8931127863728415752</id><published>2008-11-06T16:44:00.004-07:00</published><updated>2008-11-06T17:02:06.121-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>GPULib 0.5 is now available</title><content type='html'>We've just released a new version of GPULib.  Version 0.5 is available at&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gpulib.txcorp.com/"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The interface continues to improve for both IDL and MATLAB.  We've also made the package much easier to build; once you have CUDA installed, you should be able to build the software with a much more familiar &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;tar -xvzf gpulib-0.5.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;cd gpulib-0.5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;./configure&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;make&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, this version of GPULib should build easily on Mac OS X as well, with the same steps as above.  With Apple using CUDA-enabled NVIDIA graphics chips in its new MacBook and MacBook Pro releases, this should allow even more users to begin using the GPU for number crunching.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For both Linux and OS X, the configure script will do its best to find IDL and MATLAB automatically.  If you don't have IDL or MATLAB, you can disable building those bindings.  See the README file for full details.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you have the package built, running&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;make check&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;will run a series of demos for IDL, MATLAB, and C.  The latter is currently just a skeleton, but we'll be adding more C examples soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, many users have been asking for better documentation.  We're still working on the User's Guide, but in the meantime both the IDL and MATLAB APIs have much better documentation than the previous release.  If you run&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;make html&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;GPULib will generate comprehensive documentation for the IDL bindings, contained in gpulib-0.5/IDL/docs.  MATLAB users can run&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;help gpuArray&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;and browse the API and related documentation directly in MATLAB.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As always, feel free to leave questions, comments, feature requests, etc. in the comments, or email us at &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-8931127863728415752?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/8931127863728415752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=8931127863728415752' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/8931127863728415752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/8931127863728415752'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/11/gpulib-05-is-now-abailable.html' title='GPULib 0.5 is now available'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6967057317573233582</id><published>2008-08-13T14:46:00.002-06:00</published><updated>2008-08-13T14:48:17.442-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IDL'/><title type='text'>IDL tip: compile gpuinit before running your own procedures</title><content type='html'>Another "gotcha" came up today from a user; when using GPULib in IDL, you may need to compile gpuinit before running your code.  For example, to run a procedure you've written called foo, you should do something like the following:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;IDL&gt; .compile gpuinit&lt;br /&gt;IDL&gt; .compile foo&lt;br /&gt;IDL&gt; foo&lt;/span&gt;&lt;/blockquote&gt;As always, if you have questions or suggestion regarding GPULib, feel free to leave comments or email &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6967057317573233582?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6967057317573233582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6967057317573233582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6967057317573233582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6967057317573233582'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/08/idl-tip-compile-gpuinit-before-running.html' title='IDL tip: compile gpuinit before running your own procedures'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-4428537715220089117</id><published>2008-08-13T11:57:00.003-06:00</published><updated>2008-08-13T12:08:26.056-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='installation'/><title type='text'>Tips on building GPULib</title><content type='html'>Several users have pointed out recently that the documentation included with GPULib is sparser than they would like.  The docs do require updating, and you should see better installation and use instructions with the next release of the libraries.  Until then, here are some tips on how to deal with common issues.&lt;br /&gt;&lt;br /&gt;If you're having trouble getting GPULib to build, make sure that the most recent CUDA libraries are installed for your platform.  Also, make sure that you have any other software you need; you can't build the IDL bindings without IDL installed on the machine, for example.&lt;br /&gt;&lt;br /&gt;If you see errors such as the following during the build:&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;cc  -I/usr/local/rsi/idl/external/include -I/usr/local/cuda/include -O3 -fPIC -I../vectorOp -I../physicsOp -c gpulib.c&lt;br /&gt;gpulib.c:38:24: error: idl_export.h: No such file or directory&lt;br /&gt;gpulib.c:48: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'get_IDL_long'&lt;br /&gt;In file included from gpulib.c:163:&lt;br /&gt;../vectorOp/gpuVectorOpFuncList.h:38: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'IDL_gpuSqrtF'&lt;br /&gt;../vectorOp/gpuVectorOpFuncList.h:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'IDL_gpuExpF'&lt;/span&gt;&lt;/blockquote&gt;you probably need to change your configure line to help GPULib figure out where IDL is.  A configure line such as&lt;br /&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;span style="font-size:85%;"&gt;./configure --disable-MATLAB --with-idl-dir=/path/to/idl&lt;/span&gt;&lt;/blockquote&gt;should fix this issue and allow the build to continue.&lt;br /&gt;&lt;br /&gt;If you encounter any other issues, feel free to describe them in the comments or send email to &lt;a href="mailto:support@txcorp.com"&gt;support@txcorp.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-4428537715220089117?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/4428537715220089117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=4428537715220089117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4428537715220089117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4428537715220089117'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/08/tips-on-building-gpulib.html' title='Tips on building GPULib'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-1019341462643836124</id><published>2008-07-07T12:06:00.000-06:00</published><updated>2008-07-07T12:11:23.513-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MATLAB'/><title type='text'>Example MATLAB code in GPULib</title><content type='html'>I recently had a question from a user looking for information on how to use GPULib with MATLAB; you can find examples of how to use GPULib in the&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;    gpulib-0.3p7/MATLAB/ode_cell/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;directory of the current distribution.&lt;br /&gt;&lt;br /&gt;We're working on refining the MATLAB interface to the library, and hopefully we'll be able to share that work with you soon.  In the meantime, if you have suggestions or comments about using GPULib with MATLAB, please let us know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-1019341462643836124?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/1019341462643836124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=1019341462643836124' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1019341462643836124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1019341462643836124'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/07/example-matlab-code-in-gpulib.html' title='Example MATLAB code in GPULib'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-7235614575402799257</id><published>2008-06-23T09:38:00.000-06:00</published><updated>2008-06-23T09:39:50.009-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>GPULib 0.3p7 released</title><content type='html'>Development continues on GPULib -- the team has made a new release; 0.3p7 can be downloaded at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.txcorp.com/technologies/GPULib/"&gt;http://www.txcorp.com/technologies/GPULib/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-7235614575402799257?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/7235614575402799257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=7235614575402799257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7235614575402799257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/7235614575402799257'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/06/gpulib-03p7-released.html' title='GPULib 0.3p7 released'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-4984155939822589476</id><published>2008-06-18T17:06:00.000-06:00</published><updated>2008-06-18T17:08:07.774-06:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>New version 0.3p6 available</title><content type='html'>Tech-X has just released a new version of GPULib.  It is available from&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.txcorp.com/technologies/GPULib/download.php"&gt;http://www.txcorp.com/technologies/GPULib/download.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Questions, comments, bug reports, and feature requests are welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-4984155939822589476?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/4984155939822589476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=4984155939822589476' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4984155939822589476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/4984155939822589476'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/06/new-version-03p6-available.html' title='New version 0.3p6 available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-9078199375928543831</id><published>2008-04-30T14:46:00.000-06:00</published><updated>2008-04-30T14:51:55.628-06:00</updated><title type='text'>Nvidia's David Kirk on CUDA, CPUs and GPUs</title><content type='html'>&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;bit-tech has a quite interesting interview up with Nvidia's Chief Scientist David Kirk, where he discusses the future of GPU computing.&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica"&gt;&lt;a href="http://www.bit-tech.net/hardware/2008/04/30/david-kirk-interview/1"&gt;http://www.bit-tech.net/hardware/2008/04/30/david-kirk-interview/1&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-9078199375928543831?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/9078199375928543831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=9078199375928543831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/9078199375928543831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/9078199375928543831'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/04/nvidias-david-kirk-on-cuda-cpus-and.html' title='Nvidia&apos;s David Kirk on CUDA, CPUs and GPUs'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-3817493296492314338</id><published>2008-04-29T11:39:00.000-06:00</published><updated>2008-04-29T11:44:42.074-06:00</updated><title type='text'>Intel to build sGPU supercomputer: Nvidia Tesla cards to debut in Bull system</title><content type='html'>&lt;a href="http://www.tgdaily.com/content/view/37070/135/"&gt;http://www.tgdaily.com/content/view/37070/135/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The original Bull NovaScale supercomputer setup was based on 1068 nodes, which will result in a total of 8544 processing cores for a peak floating point performance of 192 TFlops. Apparently the design was recently upgraded with 48 nodes of Nvidia Tesla S900 GPGPU cards with 96 (GT200) GPUs. The expected performance is now about 300 TFlops. In comparison, BlueGene/L, currently the world's most powerful supercomputer, peaks at 596 TFlops an uses 212,992 processing cores.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-3817493296492314338?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/3817493296492314338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=3817493296492314338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3817493296492314338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/3817493296492314338'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/04/intel-to-build-sgpu-supercomputer.html' title='Intel to build sGPU supercomputer: Nvidia Tesla cards to debut in Bull system'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-1314024244801817519</id><published>2008-03-07T10:14:00.000-07:00</published><updated>2008-03-07T10:17:22.178-07:00</updated><title type='text'>New version 0.3p1 available</title><content type='html'>A new version of GPULib (0.3p1) is available at&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.txcorp.com/technologies/GPULib/download.php"&gt;http://www.txcorp.com/technologies/GPULib/download.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This new version contains a variety of bug fixes and minor updates.  Please contact us if you run into any issues or have feature requests.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-1314024244801817519?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/1314024244801817519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=1314024244801817519' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1314024244801817519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/1314024244801817519'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/03/new-version-available.html' title='New version 0.3p1 available'/><author><name>Nathaniel Sizemore</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh6.googleusercontent.com/-DyjtdHg7geA/AAAAAAAAAAI/AAAAAAAAAMY/9fKNk32Fg0U/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-9002275904448712350</id><published>2008-02-21T13:38:00.000-07:00</published><updated>2008-02-21T13:48:15.423-07:00</updated><title type='text'>Technology preview version 0.3 released</title><content type='html'>Later today we will release the latest technology preview of the GPULib (version 0.3). This version now contains at least prototypes for all the language bindings (IDL, MATLAB, Python and Java) and many new functions (various collective operations, conditionals, random number generator and more) that should all make it easier to develop algorithms that can keep data on the GPU for as long as possible.&lt;br /&gt;&lt;br /&gt;As the name suggests, this is neither a full version nor a full release, but it will give you the opportunity to play around with the library, see if your algorithm could take advantage of a GPU and provide us feedback on missing kernels/functions, surprises you've encountered during installation and use, and hopefully  success stories.&lt;br /&gt;&lt;br /&gt;We're looking forward to hear from your,&lt;br /&gt;&lt;br /&gt;Peter&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-9002275904448712350?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/9002275904448712350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=9002275904448712350' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/9002275904448712350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/9002275904448712350'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/02/technology-preview-version-03-released.html' title='Technology preview version 0.3 released'/><author><name>messmer</name><uri>http://www.blogger.com/profile/16388704938720390836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7716747799980827970.post-6004319449598818544</id><published>2008-02-20T09:54:00.000-07:00</published><updated>2008-02-20T09:56:21.938-07:00</updated><title type='text'>Blog set up</title><content type='html'>In order to communicate with users quickly, the GPULib dev team has set up this blog.  For more information on GPULib, visit&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://gpulib.txcorp.com"&gt;http://gpulib.txcorp.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7716747799980827970-6004319449598818544?l=gpulib.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gpulib.blogspot.com/feeds/6004319449598818544/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7716747799980827970&amp;postID=6004319449598818544' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6004319449598818544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7716747799980827970/posts/default/6004319449598818544'/><link rel='alternate' type='text/html' href='http://gpulib.blogspot.com/2008/02/blog-set-up.html' title='Blog set up'/><author><name>Tech-X Corporation</name><uri>http://www.blogger.com/profile/15548095524257735158</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
