(6939,17796,'2014-10-20 14:02:51','2014-10-20 14:02:51','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-20 14:02:51','2014-10-20 14:02:51','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6941,7,'2014-10-20 15:07:13','2014-10-20 15:07:13','','US-CDC-Logo','','inherit','open','open','','us-cdc-logo','','','2014-10-20 15:07:13','2014-10-20 15:07:13','',6613,'http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png',0,'attachment','image/png',0),(6942,7,'2014-10-20 15:08:31','2014-10-20 15:08:31','','Exxon-logo_0','','inherit','open','open','','exxon-logo_0','','','2014-10-20 15:08:31','2014-10-20 15:08:31','',6613,'http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif',0,'attachment','image/gif',0),(6943,7,'2014-10-20 15:16:26','2014-10-20 15:16:26','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"1%\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/faster-code-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://http://sandbox.arrayfire.com/hardware-neutral-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\" last=\"true\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/open-source-opsc\" size=\"regular\" ]Learn more[/button][/column][gap size=5%][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-10-20 15:16:26','2014-10-20 15:16:26','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(6944,17795,'2014-12-11 17:29:14','2014-12-11 17:29:14','You may already know that the Intel MPSS (Manycore Platform Software Stack) officially only supports the RedHat and SUSE Linux distros. Using an enterprise distro might be very interesting if your company is running a large server environment or short on specialized people and you rely on the distro official support for more complicated tasks.\r\n\r\nNot all companies use enterprise Linux distributions. Ubuntu has a large share of the Linux distro market (if not the largest). A while back, I needed to setup a machine running Ubuntu 14.04 and MPSS 3.4.x and could not find any documentation running the newest versions of Ubuntu/Linux Kernel/MPSS. In this blog, I will try to document how to get the Intel Xeon Phi running on Kernel 3.13.0 (which is not officially supported by the MPSS to the date of this post). The kernel module was only tested on Ubuntu 14.04, but it should compile and run without any problems in any system running Kernel 3.13.0 (not tested with newer versions).\r\n\r\n<h3>Building and Installing Kernel Modules</h3>\r\n\r\nTo start, you will need to download the MPSS 3.4.x kernel module sources, it can be download from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss#lx34rel\">Intel\'s website</a> but only as part of the complete set of sources for MPSS platform. As we do not need all sources and want to make it easier, you can just clone the MPSS 3.4.x module sources from my <a href=\"https://github.com/pentschev/mpss-modules\">GitHub repository</a>, it is ready to be built for Linux Kernel 3.13.0.\r\n\r\nAfter downloading the module source, one can build it by simply running <code>make</code>, but do not forget to first install build-essential (includes tools such as GCC and Make, required to compile the module) and also the kernel headers that is contained within package kernel-headers-generic on Ubuntu, these packages can be installed with the command <code>sudo apt-get install build-essential linux-headers-generic</code>. To install (as root), just execute <code>make install</code>. The correct kernel module for MPSS is now installed on your system, but it might be necessary to update the list of modules available manually by running <code>sudo depmod</code>.\r\n\r\nThere is module called <code>mic_host</code> that comes with the Linux Kernel tree, but we will not use it, we will use the one provided by Intel instead. Before loading the now installed module <code>mic</code>, let\'s ensure that the <code>mic_host</code> module is not loaded by trying to unload it with the command <code>sudo rmmod mic_host</code>. To avoid its loading during boot, make sure to blacklist it by creating the file <code>/etc/modprobe.d/blacklist-mic-host.conf</code> and inserting <code>blacklist mic_host</code> in the first line. Now the MIC module can be safely loaded by running <code>modprobe mic</code>, or you can simply reboot the system that it will be automatically loaded by the kernel.\r\n\r\nBe sure also to verify if your Phi will require an update of its flash and SMC bootloader. Because this is a sensitive task, refer to original Intel readme.txt, also available on <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss#lx34rel\">Intel\'s website</a>.\r\n\r\n<h3>Converting and Installing RPM Packages</h3>\r\n\r\nWith the kernel module already installed and loaded, it is time to install the remaining MPSS tools. As with the MPSS kernel module, there is no native support for Ubuntu which uses the DEB packaging system, but only for RedHat and SUSE (both use RPM packaging system). The simplest way to install MPSS tools is probably to convert the RPM packages to DEB packages.\r\n\r\nDebian-based distributions (which is the case of Ubuntu) have a tool called alien to convert RPM packages into DEB ones. This tool does not only recompresses the files within the RPM package into a DEB package, but has also the ability to convert installation scripts, that are processed during installation to fix, for example, permissions of newly installed files. The alien tool can be installed by running <code>sudo apt-get install alien</code>.\r\n\r\nIn the case of Linux MPSS 3.4.2 binaries, it is necessary to download a tar package containing all RPM packages from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss#lx34rel\">Intel\'s website</a> and uncompress it by executing the following command:\r\n\r\n<pre>\r\ntar xf mpss-3.4.2-linux.tar\r\n</pre>\r\n\r\nAfter uncompressing the file, there will be a new directory called <code>mpss-3.4.2</code>, with about 50 RPM packages. Inside the <code>mpss-3.4.2</code> directory, you need to start the conversion of packages, executing the command <code>alien --scripts *.rpm</code>. This process may take a several minutes to complete.\r\n\r\nAfter the conversion is completed, we simply install all DEB packages but this time not with <code>apt-get</code>, since it only installs packages that are available in the repositories defined for Ubuntu. To install the DEB packages we use the command <code>dpkg -i *.deb</code>  - this may take a few minutes.\r\n\r\nThe MPSS tools install some libraries in the system. Because Ubuntu is switching to a different method of organizing libraries within the filesystem, it will not find MPSS libraries directly, as a workaround to this behavior we will create a new file <code>/etc/ld.so.conf.d/zz_x86_64-compat.conf</code> and write <code>/usr/lib64</code> in there so that the system will recognize the directory <code>/usr/lib64</code> as a standard search directory for libraries.\r\n\r\nAll applications must be able to look for the libraries it is linked to in the filesystem. To make search for libraries faster on Linux, it contains a library cache that will be searched before running the application. After a new library is installed in the system, this cache must be updated in order for applications to find the libraries it depends on. This cache is updated by running <code>ldconfig</code>.\r\n\r\n<h3>Configuring the Coprocessor</h3>\r\n\r\nThe coprocessor configuration described in this section is almost the same as the one in the MPSS Users Guide from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss#lx34rel\">Intel\'s website</a> with a few modifications, such as the <code>nfs</code> service which is called by <code>nfs-kernel-server</code> in Ubuntu and the change from <code>/srv</code> to <code>/var</code> (changing <code>/srv</code> to <code>/var</code> is not entirely necessary but I used it to comply with long-term server files storage location in most modern distros).\r\n\r\nFirst of all, note that everything in this section will be run on the host-side (not on the Phi) and as root user or using <code>sudo</code>. It is up to you if you prefer running as root or using <code>sudo</code>, but you need root permissions for all the following steps. Since the communication is done via root user, first an SSH key is created for root user with <code>ssh-keygen</code> command, and you can leave it without a password if desired.\r\n\r\nThe MIC should have a configuration tree, this configuration can be initialized to defaults with the command <code>micctrl --initdefaults</code>.\r\n\r\nEven though Intel does not officially support Ubuntu, for some reason they have a script to initialize the MPSS service for Ubuntu, and this file is originally installed in <code>/etc/mpss/mpss.ubuntu</code>, but we will copy it to <code>/etc/init.d/mpss</code> so that it will be together with the other service initialization scripts in Ubuntu. It is also necessary to enable the service start during boot and stop during reboot/shutdown, which can be done by executing <code>update-rc.d mpss defaults 99 10</code>.\r\n\r\nInstead of rebooting the system many times during the configuration process, we will simply start/stop services whenever necessary. At this point it is necessary to start the MPSS service with command <code>service mpss start</code>.\r\n\r\nWe will now start the NFS configuration, which is the easiest way to share files between the host system and the coprocessor. On Ubuntu, the NFS service can be installed by running <code>apt-get install nfs-kernel-server</code>.\r\n\r\nNext, the directory <code>/micNfs</code> must be created by running <code>mkdir /micNfs</code>. It should be then configured for NFS export by adding the line <code>/micNfs 172.31.1.1(rw,no_root_squash)</code> to the file <code>/etc/exports</code>. Later the coprocessor machine should be allowed to mount this filesystem, and this can be done by adding the line <code>ALL:172.31.1.1</code> to file <code>/etc/hosts.allow</code>. Note that we are assuming that the configuration is being done for the first Intel Xeon Phi on the system (IP: 172.31.1.1), if you have more than one Phi installed, you may have to change this IP address.\r\n\r\nNow the filesystem can be exported by running <code>exportfs -a</code>. After that, the NFS filesystem should be added to MPSS configuration, which is simply done with the <code>micctrl</code> tool, more specifically <code>micctrl --addnfs=172.31.1.254:/micNfs --dir=/micNfs</code>.\r\n\r\nNow the MPSS service must be stopped to finish the remaining configuration: <code>service mpss stop</code>. A user for MIC called <code>micuser</code> with user ID <code>400</code> is then created along with a group of same name by running <code>useradd -U -m -u 400 micuser</code>. The group ID of <code>micuser</code> is then changed to <code>400</code> as well with <code>groupmod -g 400 micuser</code>.\r\n\r\nA directory to hold files for <code>micuser</code> must be created (<code>mkdir -p /var/michome/micuser</code>) and given the correct permissions (<code>chown micuser /var/michome/micuser</code>).\r\n\r\nThe parent directory for <code>micuser</code> NFS home should also be exported by adding the line <code>/var/michome 172.31.0.0/16(rw)</code> to the file <code>/etc/exports</code>. The directory shall now be exported (<code>exportfs -a</code>) and the NFS service restarted <code>service nfs-kernel-server restart</code>.\r\n\r\nThe MPSS should be configure to mount the <code>/home</code> directory on the Phi\'s OS from host\'s <code>/var/michome</code> by running <code>micctrl --addnfs=/var/michome --dir=/home</code>. Finally, the MPSS service is restarted (<code>service mpss restart</code>) and NFS filesystems mounted (<code>mount -a</code>).\r\n\r\n<h3>OpenCL</h3>\r\n\r\nTo run OpenCL applications on the Phi, there are two additional toolsets required. The first set contains the OpenCL Drivers and Runtime and can be obtained <a href=\"https://software.intel.com/en-us/articles/opencl-drivers\">here</a>, this is necessary to actually execute OpenCL applications. To compile OpenCL applications for Intel, you will require also the <a href=\"https://software.intel.com/en-us/intel-parallel-studio-xe\">Intel Parallel Studio XE</a>. It is possible to compile OpenCL applications simply with G++, but OpenCL headers are only available as part of the Intel Parallel Studio XE. If you have OpenCL header files from another vendor they <em>might</em> work as well, but if you want to profile your code, it is strongly advised to get the Intel Parallel Studio XE (note that it requires the purchase of a license, with a 30-day trial also available).\r\n\r\nBefore install the OpenCL Drivers and Runtime on Ubuntu, you will need the <code>lsb-core</code> package, obtainable via the package manager (<code>apt-get install lsb-core</code>).\r\n\r\nSince the installation process for both toolsets is straightforward and no specific steps are required on Ubuntu, a walkthrough the installation will not be covered here, instead refer to Intel\'s official documentation.\r\n\r\nThe only thing you will have to change or add after the installation of both toolset is the ICD (Installable Client Driver) file for OpenCL. Simply create a new file <code>/etc/OpenCL/vendors/intel64.icd</code> or modify the existing one to contain only one line <code>/opt/intel/opencl-1.2-4.5.0.8/lib64/libintelocl.so</code> (note that you may have to change <code>opencl-1.2-4.5.0.8</code> in case you obtained a different version of OpenCL Drivers and Runtime).','Getting Started with the Intel Xeon Phi on Ubuntu 14.04/Linux Kernel 3.13.0','','publish','open','open','','getting-started-with-the-intel-xeon-phi-on-ubuntu-14-04linux-kernel-3-13-0','','','2014-12-22 20:52:43','2014-12-22 20:52:43','',0,'http://sandbox.arrayfire.com/?p=6944',0,'post','',25),(6945,17795,'2014-10-21 00:43:35','2014-10-21 00:43:35','You may already know that the Intel MPSS (Manycore Platform Software Stack) is only officially supported for RedHat and SUSE Linux distros. Using and enterprise distro might be very interesting if your company is running a large server environment or if your company is short on specialized people and you rely on the company\'s support for more complicated tasks.\r\n\r\nNot all companies use enterprise Linux distributions and Ubuntu has a large share of the Linux distro market (if not the largest). Since I needed to setup a machine running Ubuntu 14.04 and MPSS 3.4 and could not find any documentation running the newest versions of Ubuntu/Linux Kernel/MPSS, I will try to document here how to get the Intel Xeon Phi running on Kernel 3.13.0 (which is not officially supported by the MPSS to the date of this post). The kernel module for was tested on Ubuntu 14.04 only, but it should compile and run without any problems in any system running Kernel 3.13.0 (not tested with newer versions).\r\n\r\n<h3>Building and Installing Kernel Modules</h3>\r\n\r\nTo start, you will need to download the MPSS 3.4 kernel module sources, it can be download from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss\">Intel\'s website</a> but only as part of the complete set of sources for MPSS platform. Since we do not need all sources and to make it easier, you can just clone/download the MPSS 3.4 module sources from my <a href=\"https://github.com/pentschev/mpss-modules\">GitHub repository</a>, it is ready to be built for Linux Kernel 3.13.0.\r\n\r\nAfter downloading the module source, one can build it by simply running <code>make</code>, but do not forget to install build-essential (install tools such as GCC and Make, required to compile the module) and also the kernel headers that is contained within package kernel-headers-generic on Ubuntu, these packages can be installed with the command <code>sudo apt-get install build-essential linux-headers-generic</code>. To install (as root), just execute <code>make install</code>. The correct kernel module for MPSS is now installed on your system, but it might be necessary to load it manually by running <code>modprobe mic</code> as root, or rebooting the machine.\r\n\r\n<h3>Converting and Installing RPM Packages</h3>\r\n\r\nWith the kernel module already installed and loaded, it is time to install the remaining MPSS tools. As with the MPSS kernel module, there is no native support for Ubuntu which uses DEB packaging system, but only for RedHat and SUSE (both use RPM packaging system). The simplest way to install MPSS tools is probably to convert the RPM packages to DEB packages.\r\n\r\nLet\'s first download the Linux MPSS 3.4 binaries from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss\">Intel\'s website</a> and uncompressing the files by executing the following command:\r\n\r\n<pre>\r\ntar xf mpss-3.4-linux.tar\r\n</pre\r\n\r\nAfter uncompressing the file, there will be a new directory called <code>mpss-3.4</code>, with about 50 RPM packages. To convert them to DEB packages, we will need another tool called alien, contained in the Ubuntu package with same name: <code>sudo apt-get install alien</code>.\r\n\r\nInside the <code>mpss-3.4</code> directory, you need to start the conversion of packages, executing the command <code>alien --scripts *.rpm</code>. This process may take a few minutes to complete.\r\n\r\nAfter the conversion is completed, we simply install all DEB packages but this time not with <code>apt-get</code>, since it only installs packages that are available in the repositories defined for Ubuntu. To install the DEB packages we use the command <code>dpkg -i *.deb</code>, which may take one or two more minutes.\r\n\r\nAt this point, we have everything we need to get the Intel Xeon Phi co-processor up and running, but to compile code that runs on the Phi co-processor, it is necessary to have installed <a href=\"https://software.intel.com/en-us/intel-parallel-studio-xe\">Intel Parallel Studio XE</a>.','Getting Started with the Intel Xeon Phi on Ubuntu 14.04/Linux Kernel 3.13.0','','inherit','open','open','','6944-revision-v1','','','2014-10-21 00:43:35','2014-10-21 00:43:35','',6944,'http://sandbox.arrayfire.com/6944-revision-v1/',0,'revision','',0),(6946,17795,'2014-10-21 11:32:01','2014-10-21 11:32:01','You may already know that the Intel MPSS (Manycore Platform Software Stack) is only officially supported for RedHat and SUSE Linux distros. Using and enterprise distro might be very interesting if your company is running a large server environment or if your company is short on specialized people and you rely on the company\'s support for more complicated tasks.\r\n\r\nNot all companies use enterprise Linux distributions and Ubuntu has a large share of the Linux distro market (if not the largest). Since I needed to setup a machine running Ubuntu 14.04 and MPSS 3.4 and could not find any documentation running the newest versions of Ubuntu/Linux Kernel/MPSS, I will try to document here how to get the Intel Xeon Phi running on Kernel 3.13.0 (which is not officially supported by the MPSS to the date of this post). The kernel module for was tested on Ubuntu 14.04 only, but it should compile and run without any problems in any system running Kernel 3.13.0 (not tested with newer versions).\r\n\r\n<h3>Building and Installing Kernel Modules</h3>\r\n\r\nTo start, you will need to download the MPSS 3.4 kernel module sources, it can be download from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss\">Intel\'s website</a> but only as part of the complete set of sources for MPSS platform. Since we do not need all sources and to make it easier, you can just clone/download the MPSS 3.4 module sources from my <a href=\"https://github.com/pentschev/mpss-modules\">GitHub repository</a>, it is ready to be built for Linux Kernel 3.13.0.\r\n\r\nAfter downloading the module source, one can build it by simply running <code>make</code>, but do not forget to install build-essential (install tools such as GCC and Make, required to compile the module) and also the kernel headers that is contained within package kernel-headers-generic on Ubuntu, these packages can be installed with the command <code>sudo apt-get install build-essential linux-headers-generic</code>. To install (as root), just execute <code>make install</code>. The correct kernel module for MPSS is now installed on your system, but it might be necessary to load it manually by running <code>modprobe mic</code> as root, or rebooting the machine.\r\n\r\n<h3>Converting and Installing RPM Packages</h3>\r\n\r\nWith the kernel module already installed and loaded, it is time to install the remaining MPSS tools. As with the MPSS kernel module, there is no native support for Ubuntu which uses DEB packaging system, but only for RedHat and SUSE (both use RPM packaging system). The simplest way to install MPSS tools is probably to convert the RPM packages to DEB packages.\r\n\r\nLet\'s first download the Linux MPSS 3.4 binaries from <a href=\"https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss\">Intel\'s website</a> and uncompressing the files by executing the following command:\r\n\r\n<pre>\r\ntar xf mpss-3.4-linux.tar\r\n</pre>\r\n\r\nAfter uncompressing the file, there will be a new directory called <code>mpss-3.4</code>, with about 50 RPM packages. To convert them to DEB packages, we will need another tool called alien, contained in the Ubuntu package with same name: <code>sudo apt-get install alien</code>.\r\n\r\nInside the <code>mpss-3.4</code> directory, you need to start the conversion of packages, executing the command <code>alien --scripts *.rpm</code>. This process may take a few minutes to complete.\r\n\r\nAfter the conversion is completed, we simply install all DEB packages but this time not with <code>apt-get</code>, since it only installs packages that are available in the repositories defined for Ubuntu. To install the DEB packages we use the command <code>dpkg -i *.deb</code>, which may take one or two more minutes.\r\n\r\nAt this point, we have everything we need to get the Intel Xeon Phi co-processor up and running, but to compile code that runs on the Phi co-processor, it is necessary to have installed <a href=\"https://software.intel.com/en-us/intel-parallel-studio-xe\">Intel Parallel Studio XE</a>.','Getting Started with the Intel Xeon Phi on Ubuntu 14.04/Linux Kernel 3.13.0','','inherit','open','open','','6944-revision-v1','','','2014-10-21 11:32:01','2014-10-21 11:32:01','',6944,'http://sandbox.arrayfire.com/6944-revision-v1/',0,'revision','',0),(6948,17796,'2014-10-23 11:11:29','2014-10-23 11:11:29','','merge','','inherit','open','open','','merge','','','2014-10-23 11:11:29','2014-10-23 11:11:29','',6866,'http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.bmp',0,'attachment','image/bmp',0),(6949,17796,'2014-10-23 11:11:37','2014-10-23 11:11:37','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.bmp\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.bmp\" alt=\"merge\" width=\"686\" height=\"685\" class=\"alignnone size-full wp-image-6948\" /></a>\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:11:37','2014-10-23 11:11:37','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6952,17796,'2014-10-23 11:13:54','2014-10-23 11:13:54','','merge','','inherit','open','open','','merge-2','','','2014-10-23 11:13:54','2014-10-23 11:13:54','',6866,'http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png',0,'attachment','image/png',0),(6953,17796,'2014-10-23 11:15:22','2014-10-23 11:15:22','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect.png\" alt=\"intersect\" width=\"686\" height=\"685\" class=\"alignnone size-full wp-image-6951\" /></a>\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\" alt=\"merge\" width=\"686\" height=\"685\" class=\"alignnone size-full wp-image-6952\" /></a>\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:15:22','2014-10-23 11:15:22','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6954,17796,'2014-10-23 11:19:03','2014-10-23 11:19:03','','intersect','','inherit','open','open','','intersect-3','','','2014-10-23 11:19:03','2014-10-23 11:19:03','',6866,'http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.bmp',0,'attachment','image/bmp',0),(6955,17796,'2014-10-23 11:19:03','2014-10-23 11:19:03','','intersect','','inherit','open','open','','intersect-4','','','2014-10-23 11:19:03','2014-10-23 11:19:03','',6866,'http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png',0,'attachment','image/png',0),(6956,17796,'2014-10-23 11:20:31','2014-10-23 11:20:31','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a>\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:20:31','2014-10-23 11:20:31','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6957,17796,'2014-10-23 11:21:42','2014-10-23 11:21:42','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a>\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" />\r\nhref=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\n\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:21:42','2014-10-23 11:21:42','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6958,17796,'2014-10-23 11:22:01','2014-10-23 11:22:01','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\n\r\n\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:22:01','2014-10-23 11:22:01','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6959,17796,'2014-10-23 11:22:53','2014-10-23 11:22:53','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally  demanding, especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement. \r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can adopted for the intersection.\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and in fact each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This in fact allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">MergePath</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU-MergePath</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMergePath restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is in fact dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or two the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the values A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided on. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\n\r\n\r\n\r\nUsing the Merge-Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge-Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simply truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future. So stay tuned.\r\n\r\n\r\n\r\n\r\n\r\n','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 11:22:53','2014-10-23 11:22:53','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6962,17795,'2014-10-23 12:13:38','2014-10-23 12:13:38','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally demanding, especially for sparse networks, this makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement.\n\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \n\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can be adopted for the intersection.\n\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and, in fact, each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">Merge Path</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU Merge Path</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \n\nMerge Path restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or to the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the value A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\n\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\n\nUsing the Merge Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simple truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\n\nIn the next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future. So stay tuned.','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-autosave-v1','','','2014-10-23 12:13:38','2014-10-23 12:13:38','',6866,'http://sandbox.arrayfire.com/6866-autosave-v1/',0,'revision','',0),(6963,17795,'2014-10-23 12:14:28','2014-10-23 12:14:28','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally demanding, especially for sparse networks, this makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, typically the lists are presorted. This by no means is an exaggerated requirement.\r\n\r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can be adopted for the intersection.\r\n\r\nThe key difference between a merge and the intersection, is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array - meaning each thread is responsible for merging independent sections of the output and, in fact, each thread knows the exact position in the output array that it will write to. For intersection, this is more complicated as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary - rather only the number of common elements is required. This allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">Merge Path</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU Merge Path</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMerge Path restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or to the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the value A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\nUsing the Merge Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can in fact change Merge Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simple truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn my next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future. So stay tuned.','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 12:14:28','2014-10-23 12:14:28','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6965,7,'2014-10-23 14:02:26','2014-10-23 14:02:26','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally demanding, especially for sparse networks, this makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, the lists are typically presorted. This by no means is an exaggerated requirement.\n\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \n\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can be adopted for the intersection.\n\nThe key difference between a merge and the intersection is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array--meaning each thread is responsible for merging independent sections of the output and, in fact, each thread knows the exact position in the output array that it will write to. For intersection this is more complicated, as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary--rather, only the number of common elements is required. This allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">Merge Path</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU Merge Path</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \n\nMerge Path restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or to the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the value A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\n\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\n\nUsing the Merge Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can change Merge Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simple truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\n\nIn my next blog I will cover both performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future. So stay tuned.','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-autosave-v1','','','2014-10-23 14:02:26','2014-10-23 14:02:26','',6866,'http://sandbox.arrayfire.com/6866-autosave-v1/',0,'revision','',0),(6966,7,'2014-10-23 14:03:06','2014-10-23 14:03:06','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets in the graph or using via matrix multiplication of the incidence array. The last of these two approaches can be computationally demanding, especially for sparse networks, this makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, the lists are typically presorted. This by no means is an exaggerated requirement.\r\n\r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being, while not exaggerated, is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can be adopted for the intersection.\r\n\r\nThe key difference between a merge and the intersection is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array--meaning each thread is responsible for merging independent sections of the output and, in fact, each thread knows the exact position in the output array that it will write to. For intersection this is more complicated, as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary--rather, only the number of common elements is required. This allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">Merge Path</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU Merge Path</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMerge Path restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or to the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the value A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\nUsing the Merge Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can change Merge Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simple truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn my next blog I will cover performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future, so stay tuned.','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 14:03:06','2014-10-23 14:03:06','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6967,17796,'2014-10-23 14:49:13','2014-10-23 14:49:13','A while back I wrote a blog on triangle counting in networks using CUDA (see <a href=\"http://sandbox.arrayfire.com/triangle-counting-in-graphs-on-the-gpu-part-1/\" title=\"Part 1\" target=\"_blank\"> Part 1</a> for the post). In this post, I will cover in more detail the internals of the algorithm and the CUDA implementation. Before I take a deep dive into the details of the algorithm, I want to remind the reader that there are multiple ways for finding triangles in a graph. Our approach is based off the intersection of two adjacency lists and finding the common elements in both those lists. Two additional approaches would simply be to compare all the possible node-triplets, either in the graph or via matrix multiplication of the incidence array. The latter of these two approaches can be computationally demanding--especially for sparse networks. This makes the adjacency list intersection approach preferable in most cases. For the intersection to be efficient, the lists are typically presorted. This by no means is an exaggerated requirement.\r\n\r\nAn extended discussion on the pros and cons of the different approaches can be found in both the papers by <a href=\"http://www.emis.ams.org/journals/JGAA/accepted/2005/SchankWagner2005.9.2.pdf\" title=\"Finding, counting and listing all triangles in large graphs, an experimental study\" target=\"_blank\">Shanck & Wagner</a> and in <a href=\"http://www.cc.gatech.edu/grads/o/ogreen3/_docs/2014LoadBalancecClusteringCoefficients.pdf\" title=\"Load Balanced Clustering Coefficients\" target=\"_blank\">Green et al.</a> \r\n\r\nThe significance of the adjacency lists being sorted is in fact important. The main reason is that the intersecting two sort lists is very similar conceptually to merging two sorted lists. Thus, parallel merge algorithms can be adopted for the intersection.\r\n\r\nThe key difference between a merge and the intersection is that most parallel merge algorithms offer exclusive writing (in terms of location) in the output array--meaning each thread is responsible for merging independent sections of the output and, in fact, each thread knows the exact position in the output array that it will write to. For intersection this is more complicated, as the exact position to which a thread will need to write to in a sorted fashion is dependent on the sorted input and how many prior intersections were found. Fortunately, in the case of triangle counting, the actual set of overlapping elements is not necessary--rather, only the number of common elements is required. This allows us to use the recently developed <a href=\"http://arxiv.org/pdf/1406.2628\" title=\"Merge Path\" target=\"_blank\">Merge Path</a> and <a href=\"http://www.cc.gatech.edu/~bader/papers/GPUMergePath-ICS2012.pdf\" title=\"GPU Merge Path\" target=\"_blank\">GPU Merge Path</a> algorithms for our purposes. Merge Path is a visual approach for merging two sorted arrays into one sorted array. \r\n\r\nMerge Path restates the problem of merging two sorted arrays into the traversal of a 2-d grid from the top-left corner to the bottom-right corner with the only legal moves being downwards and to the right. This can be seen in the figure below. The traversal of the grid is dependent on the values of the input arrays (one has been placed at the top of the grid and the other has been placed on the left of the grid). The decision on either moving down or to the right is dependent on the location of the indices of the path. As the path starts at index (0,0), the value A[0] is compared with the value B[0]. Based on the comparison, the movement direction is decided. The movement direction essentially increases the pointer-index of one of these arrays. Thus, only elements on the path are computed (compared).\r\n\r\n<a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/merge-300x300.png\" alt=\"merge\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6952\" /></a> <a href=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1.png\"><img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/intersect1-300x300.png\" alt=\"intersect\" width=\"300\" height=\"300\" class=\"alignnone size-medium wp-image-6955\" /></a>\r\n\r\nUsing the Merge Path concept, it is possible to partition the work into equal length paths such that each core is responsible for merging an equal number of elements. With a little augmentation to the movement pattern, we can change Merge Path to support intersection. This involves adding an additional move option: down-right. This move occurs when the elements pointed by the indices in both lists are equal. So why is all this important? Well, the simple truth is that this allows us to split the adjacency list intersection between multiple GPU threads. This also permits executing several different adjacency list executions concurrently in a single CUDA block.\r\n\r\nIn my next blog I will cover performance and give some additional details on benefits of doing multiple list intersections concurrently. A full tech-report on this will be published in the near future, so stay tuned.','Triangle Counting in Graphs on the GPU (Part 2)','','inherit','open','open','','6866-revision-v1','','','2014-10-23 14:49:13','2014-10-23 14:49:13','',6866,'http://sandbox.arrayfire.com/6866-revision-v1/',0,'revision','',0),(6968,7,'2014-11-04 20:40:03','2014-11-04 20:40:03','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will be available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up for a tutorial on <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14121918037\">Tuesday</a>, <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122056451\">Wednesday</a>, or <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122136691\">Thursday</a>. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<strong>Sit in on our workshop talks. </strong>Our talks will be conducted by Dr. Oded Green, ArrayFire COO. Both talks will be part of the <em>Workshop on Irregular Applications: Architectures &amp; Algorithms</em> and take place on Sunday, November 16th, in room 273. The titles the talks are as follows:\r\n\r\n4:20 pm—\"When Merging and Branch Predictors Collide\"\r\n\r\n4:45 pm—\"Fast Triangle Counting on GPU\"\r\n\r\n<b>Join us for a user meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users! Visit our booth for more details.\r\n\r\n<strong>Set up individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','publish','open','open','','arrayfire-at-sc14','','','2014-11-05 14:02:17','2014-11-05 14:02:17','',0,'http://sandbox.arrayfire.com/?p=6968',0,'post','',3),(6969,7,'2014-10-24 18:50:11','2014-10-24 18:50:11','HPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement. \r\n\r\n<iframe width=\"560\" height=\"315\" src=\"//www.youtube.com/embed/zJybFF6PqEQ\" frameborder=\"0\" allowfullscreen></iframe>','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-24 18:50:11','2014-10-24 18:50:11','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6970,7,'2014-10-24 19:36:54','2014-10-24 19:36:54','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers available for talking. Ask your questions, meet the team, bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" Mark your calendars for Wednesday, November 19th, at 3:30 pm. We\'ll be in Room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our meeting scheduler.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-24 19:36:54','2014-10-24 19:36:54','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6971,7,'2014-10-28 18:59:25','2014-10-28 18:59:25','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers available for talking. Ask your questions, meet the team, bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" Mark your calendars for Wednesday, November 19th, at 3:30 pm. We\'ll be in Room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our meeting scheduler.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 18:59:25','2014-10-28 18:59:25','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6972,7,'2014-10-28 19:00:01','2014-10-28 19:00:01','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" Mark your calendars for Wednesday, November 19th, at 3:30 pm. We\'ll be in Room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our meeting scheduler.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 19:00:01','2014-10-28 19:00:01','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6973,7,'2014-10-28 19:00:21','2014-10-28 19:00:21','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" Mark your calendars for Wednesday, November 19th, at 3:30 pm. We\'ll be in Room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our meeting scheduler.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 19:00:21','2014-10-28 19:00:21','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6974,7,'2014-10-28 19:01:20','2014-10-28 19:01:20','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" Mark your calendars for Wednesday, November 19th, at 3:30 pm. We\'ll be in Room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 19:01:20','2014-10-28 19:01:20','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6975,7,'2014-10-28 19:02:13','2014-10-28 19:02:13','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #XXX. That\'s in such and such location of the hall. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, [company position goes here]. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library.\" It will be held on Wednesday, November 19th, at 3:30 pm, in room 291.\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 19:02:13','2014-10-28 19:02:13','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6976,7,'2014-10-28 19:43:58','2014-10-28 19:43:58','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be.\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 19:43:58','2014-10-28 19:43:58','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6977,7,'2014-10-28 20:06:20','2014-10-28 20:06:20','','IMG_0737','','inherit','open','open','','img_0737','','','2014-10-28 20:06:20','2014-10-28 20:06:20','',6968,'http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737.jpg',0,'attachment','image/jpeg',0),(6978,7,'2014-10-28 20:06:39','2014-10-28 20:06:39','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>In-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up (link to google doc) for a 30 or 60 minute tutorial. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 20:06:39','2014-10-28 20:06:39','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6979,7,'2014-10-28 20:06:43','2014-10-28 20:06:43','<p><iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe></p>\r\n<p>HPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" /></p>\r\n<p><strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...</p>\r\n<p><strong>In-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.</p>\r\n<p>Sign up (link to google doc) for a 30 or 60 minute tutorial. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!</p>\r\n<p><strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!</p>\r\n<p><b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!</p>\r\n<p><strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.</p>\r\n<p>See you in New Orleans!</p>\r\n','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 20:06:43','2014-10-28 20:06:43','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(6980,7,'2014-10-28 21:44:05','2014-10-28 21:44:05','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>In-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up (link to google doc) for a 30 or 60 minute tutorial. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-10-28 21:44:05','2014-10-28 21:44:05','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(7042,7,'2014-11-03 20:16:33','2014-11-03 20:16:33','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up (link to google doc) for a 30 or 60 minute tutorial. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<strong>Sit in on our workshops. </strong>Our workshops will be conducted by Dr. Oded Green, ArrayFire COO. Both workshops will take place on Sunday, November 16th, in room 273. The times and titles for each workshop are as follows:\r\n\r\n4:20 pm—\"When Merging and Branch Predictors Collide\"\r\n\r\n4:45 pm—\"Fast Triangle Counting on GPU\"\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-11-03 20:16:33','2014-11-03 20:16:33','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(7043,7,'2014-11-03 21:45:58','2014-11-03 21:45:58','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up for a tutorial on <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14121918037\">Tuesday</a>, <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122056451\">Wednesday</a>, or <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122136691\">Thursday</a>. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<strong>Sit in on our workshops. </strong>Our workshops will be conducted by Dr. Oded Green, ArrayFire COO. Both workshops will take place on Sunday, November 16th, in room 273. The times and titles for each workshop are as follows:\r\n\r\n4:20 pm—\"When Merging and Branch Predictors Collide\"\r\n\r\n4:45 pm—\"Fast Triangle Counting on GPU\"\r\n\r\n<b>User meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users!\r\n\r\n<strong>Individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-11-03 21:45:58','2014-11-03 21:45:58','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(7044,7,'2014-11-05 14:01:46','2014-11-05 14:01:46','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\n\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\n\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will be available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\n\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\n\nSign up for a tutorial on <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14121918037\">Tuesday</a>, <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122056451\">Wednesday</a>, or <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122136691\">Thursday</a>. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\n\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\n\n<strong>Sit in on our workshop talks. </strong>Our talks will be conducted by Dr. Oded Green, ArrayFire COO. Both talks will be part of the <em>Workshop on Irregular Applications: Architectures &amp; Algorithms</em> and take place on Sunday, November 16th, in room 273. The titles the ta are as follows:\n\n4:20 pm—\"When Merging and Branch Predictors Collide\"\n\n4:45 pm—\"Fast Triangle Counting on GPU\"\n\n<b>Join us for a user meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users! Visit our booth for more details.\n\n<strong>Set up individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\n\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-autosave-v1','','','2014-11-05 14:01:46','2014-11-05 14:01:46','',6968,'http://sandbox.arrayfire.com/6968-autosave-v1/',0,'revision','',0),(7045,7,'2014-11-04 20:43:41','2014-11-04 20:43:41','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will be available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up for a tutorial on <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14121918037\">Tuesday</a>, <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122056451\">Wednesday</a>, or <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122136691\">Thursday</a>. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<strong>Sit in on our workshops. </strong>Our workshops will be conducted by Dr. Oded Green, ArrayFire COO. Both workshops will take place on Sunday, November 16th, in room 273. The times and titles for each workshop are as follows:\r\n\r\n4:20 pm—\"When Merging and Branch Predictors Collide\"\r\n\r\n4:45 pm—\"Fast Triangle Counting on GPU\"\r\n\r\n<b>Join us for a user meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users! Visit our booth for more details.\r\n\r\n<strong>Set up individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-11-04 20:43:41','2014-11-04 20:43:41','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(7047,7,'2014-11-05 14:02:17','2014-11-05 14:02:17','<iframe src=\"//www.youtube.com/embed/zJybFF6PqEQ\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"></iframe>\r\n\r\nHPC matters. That\'s the tagline for SC 14, and here at ArrayFire we\'re in complete agreement with them. We\'ve exhibited at SC for the past few years, and we\'re excited to once again be a part of this excellent conference! It\'s a great place for soaking up HPC knowledge, getting inspired, and connecting with the brightest minds in the industry. Here\'s a quick run-down of where we\'ll be. <img class=\"alignright size-medium wp-image-6977\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/IMG_0737-300x225.jpg\" alt=\"IMG_0737\" width=\"300\" height=\"225\" />\r\n\r\n<strong>Visit our booth.</strong> We\'re booth #2725. We\'ll have beautiful demos running and our engineers will be available for questions. Ask your questions, meet the team, or just bounce some ideas. Maybe—just maybe—you\'ll get a sneak peek at our most ambitious project yet...\r\n\r\n<strong>Try our in-booth tutorials.</strong> Want to learn how to use ArrayFire to accelerate your code? Stop by and receive a free in-booth tutorial from one of our ArrayFire experts. We’ll show you how the ArrayFire software library makes programming GPUs and other accelerators fast and easy.\r\n\r\nSign up for a tutorial on <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14121918037\">Tuesday</a>, <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122056451\">Wednesday</a>, or <a href=\"https://www.eventbrite.com/e/arrayfire-in-booth-tutorial-tickets-14122136691\">Thursday</a>. You can also come by our booth and sign up in person. Seating is first-come-first-serve and space is limited!\r\n\r\n<strong>Attend our exhibitor forum.</strong> This year\'s exhibitor forum will be delivered by Shehzan Mohammed, Software Developer. His presentation is titled \"Improving Productivity and Portability in HPC Using the ArrayFire Library,\" and will be held on Wednesday, November 19th, at 3:30 pm, in room 291. Don\'t miss it!\r\n\r\n<strong>Sit in on our workshop talks. </strong>Our talks will be conducted by Dr. Oded Green, ArrayFire COO. Both talks will be part of the <em>Workshop on Irregular Applications: Architectures &amp; Algorithms</em> and take place on Sunday, November 16th, in room 273. The titles the talks are as follows:\r\n\r\n4:20 pm—\"When Merging and Branch Predictors Collide\"\r\n\r\n4:45 pm—\"Fast Triangle Counting on GPU\"\r\n\r\n<b>Join us for a user meeting. </b>ArrayFire is more than a software library—it\'s a community. Come to our user meeting to get practical tips for working with ArrayFire and to network with other ArrayFire users! Visit our booth for more details.\r\n\r\n<strong>Set up individual meetings.</strong> Whether you live across the state or across the world, SC is a great time to connect one-on-one with us. Set up an appointment to discuss your work with an ArrayFire engineer at SC using our <a href=\"http://meetme.so/arrayfire\">meeting scheduler</a>.\r\n\r\nSee you in New Orleans!','ArrayFire at SC14','','inherit','open','open','','6968-revision-v1','','','2014-11-05 14:02:17','2014-11-05 14:02:17','',6968,'http://sandbox.arrayfire.com/6968-revision-v1/',0,'revision','',0),(7048,7,'2014-11-05 20:21:49','2014-11-05 20:21:49','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#fafafa\" inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"1%\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/faster-code-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://http://sandbox.arrayfire.com/hardware-neutral-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\" last=\"true\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/open-source-opsc\" size=\"regular\" ]Learn more[/button][/column][gap size=5%][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-11-05 20:21:49','2014-11-05 20:21:49','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(7052,7,'2014-11-05 22:47:34','2014-11-05 22:47:34','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#fafafa\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"1%\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/faster-code-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][button  type=\"flat\" shape=\"rounded\" href=\"http://http://sandbox.arrayfire.com/hardware-neutral-opsc\" size=\"regular\" ]Learn more[/button][/column]\r\n\r\n[column type=\"one-third\" class=\"center-text\" last=\"true\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/open-source-opsc\" size=\"regular\" ]Learn more[/button][/column][gap size=5%][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n\r\n<hr />\r\n<p style=\"text-align: center;\"></p>\r\n\r\n<h3 style=\"text-align: center;\">Join the ArrayFire community</h3>\r\n<p style=\"text-align: center;\">[button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"small\" ]                    Get started                    [/button]</p>\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-11-05 22:47:34','2014-11-05 22:47:34','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(7053,7,'2014-11-05 22:50:30','2014-11-05 22:50:30','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#fafafa\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"3%\"][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n\r\n<hr />\r\n\r\n<h3 style=\"text-align: center;\">Join the ArrayFire community</h3>\r\n<p style=\"text-align: center;\">[button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"small\" ]                    Get started                    [/button]</p>\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-11-05 22:50:30','2014-11-05 22:50:30','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(7054,7,'2014-11-11 20:31:34','2014-11-11 20:31:34','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"10px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks. All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor (updates coming soon). The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"https://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"https://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"https://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"https://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n[button type=\"flat\" shape=\"rounded\" size=\"regular\" href=\"https://sandbox.arrayfire.com/download\" title=\"Download now!\"]Download ArrayFire[/button]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"10%\"]<img class=\"aligncenter wp-image-4801 size-full\" src=\"https://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n[gap size=\"13%\"][/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs, OpenCL devices, and a C-programming backend. The OpenCL devices include AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"https://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts. [gap size=\"5%\"]\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"https://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"https://groups.google.com/forum/#!forum/arrayfire-users\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices. [gap size=\"11%\"]\r\n\r\n[/column]\r\n\r\n[column type=\"one-fourth\"][gap size=\"40%\"][counter num_start=\"0\" num_end=\"1538\" num_speed=\"5000\"  num_color=\"#f08027\" text_below=\"stars\" text_color=\"#212c43\"]\r\n\r\n[counter num_start=\"0\" num_end=\"238\" num_speed=\"5000\"  num_color=\"#f08027\"  text_below=\"forks\" text_color=\"#212c43\"][/column][column type=\"one-fourth\" last=\"true\"][gap size=\"40%\"]\r\n\r\n[counter num_start=\"0\" num_end=\"240\" num_speed=\"5000\"  num_color=\"#f08027\"  text_below=\"functions\" text_color=\"#212c43\"]\r\n\r\n[counter num_start=\"0\" num_end=\"4591\" num_speed=\"5000\"  num_color=\"#f08027\"  text_below=\"commits\" text_color=\"#212c43\"]\r\n\r\n[/column][/content_band]','Why ArrayFire?','','publish','closed','closed','','why-arrayfire','','','2018-06-26 15:37:33','2018-06-26 19:37:33','',0,'http://sandbox.arrayfire.com/?page_id=7054',0,'page','',0),(7055,7,'2014-11-05 22:57:52','2014-11-05 22:57:52','','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-05 22:57:52','2014-11-05 22:57:52','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7056,7,'2014-11-06 17:03:56','2014-11-06 17:03:56','[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]FASTER CODE[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 17:03:56','2014-11-06 17:03:56','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7057,7,'2014-11-06 17:05:26','2014-11-06 17:05:26','[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]FASTER CODE[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]HARDWARE NEUTRAL[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter size-full wp-image-431\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/OpenCLLogo_678x452-e1409845289634.png\" alt=\"OpenCLLogo_678x452\" width=\"326\" height=\"217\" />\r\n\r\n&nbsp;\r\n\r\n[/column] [/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 17:05:26','2014-11-06 17:05:26','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7058,7,'2014-11-06 18:23:09','2014-11-06 18:23:09','[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]FASTER CODE[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]HARDWARE NEUTRAL[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter size-full wp-image-431\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/OpenCLLogo_678x452-e1409845289634.png\" alt=\"OpenCLLogo_678x452\" width=\"326\" height=\"217\" />\r\n\r\n&nbsp;\r\n\r\n[/column] [/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]OPEN SOURCE[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 18:23:09','2014-11-06 18:23:09','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7059,7,'2014-11-06 18:27:07','2014-11-06 18:27:07','<p>[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-fifth\"].[/column][column type=\"three-fifths\"][custom_headline type=\"left\" level=\"h3\"]Glasses.com App with 3Dfit Technology[/custom_headline][/column][column type=\"one-fifth\" last=\"true\"].[/column][gap size=\"3%\"]</p>\r\n<p>[column type=\"one-fifth\"].[/column][column type=\"three-fifths\"]<img class=\"alignright wp-image-6894 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/glasses-logo-promo-01.png\" alt=\"glasses logo, promo-01\" width=\"360\" height=\"120\" />Many find the experience of purchasing new glasses stressful. Even simply trying on frames can be uncomfortable when done in a public setting. Glasses.com set out to improve the experience by providing customers a way of virtually trying on glasses frames in the comfort of their homes via smart phone or tablet.</p>\r\n<p>The Glasses.com app takes a picture of the user’s face, creates a 3D model of facial features, and virtually places selected frames on the user’s 3D image. The user is then free to view the 3D image from a variety of angles.</p>\r\n<p>The application relies on computer vision to recognize the features of a user’s face and then generate an accurate, high-fidelity, 3D model of that face. Virtual frames can then be positioned on the 3D model.</p>\r\n<blockquote><p>This app is amazing! It takes a 3D video of your face in just a few steps, and the rendering is spot on! RayBan Aviators are always a little big on me, and the app showed them on my face exactly as they fit in the store! —davidandrew</p></blockquote>\r\n<h4>Mission</h4>\r\n<p>Glasses.com brought our engineers an excellent, fully-functioning version of the application; they simply wanted it accelerated. The app took full advantage of the CPU, which—left unchanged—would necessitate Glasses.com’s purchasing and managing a large amount of hardware. Further, the application was running at a slow thirty seconds per session, resulting in a sub-optimal user experience. Our engineers were tasked with parallelizing the process and reducing the session runtime.</p>\r\n<p>Glasses.com has several machines they are using in production. Their main setup consists of a Haswell/Ivy Bridge CPU paired with a GTX 690. The machine is able to run 4 processes concurrently. In the past, Glasses.com used a 32 core Intel process with a couple of K20X. They are still using these machines, but they are not the main configuration. They are also making use of the Amazon EC2 instances in case they exceed internal capacity.</p>\r\n<h4>Action</h4>\r\n<p>We began by analyzing the application and targeting the process which would have the greatest impact on performance.</p>\r\n<p>The most pressing concern was the rendering portion of code, which was running on the CPU. We implemented rendering in ArrayFire, which is specially optimized for CUDA GPUs. Further, we noticed that while the application was rendering-intensive, much of the rendering did not need to be precise—we could make estimations without compromising quality. This estimated rendering speedup operation was critical to the success of the project.</p>\r\n<p>We discovered further opportunities for speedup within the architecture itself. The original app processed each frame in a separate thread; we accelerated this by combining each operation into a single kernel and running that kernel once. By moving the parallelization to the GPU we effectively took advantage of the strength of that architecture.</p>\r\n<h4>Results</h4>\r\n<p>Ultimately, parallelizing the application and incorporating the ArrayFire software library accelerated the application to about ten seconds per session—roughly three times as fast as the original code, and twice as fast as the target speed. We further exceeded expectations by improving general stability when handling errors. <img class=\"aligncenter size-full wp-image-6903\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/glassesdotcom-benchmarks.jpg\" alt=\"glassesdotcom benchmarks\" width=\"700\" height=\"442\" /></p>\r\n<p>The improvements in speed, stability, and user experience have resonated with the application’s target market, resulting in a 3.5/5 star rating in the Apple Store.</p>\r\n<h6>About glasses.com</h6>\r\n<p>Glasses.com launched in 2011 as an online retailer of prescription and non-prescription glasses and sunglasses, carrying a wide-range of styles and name brands such as Oakley, Ray-Ban, Kate Spade, Burberry, Maui Jim, and more.[/column][column type=\"one-fifth\" last=\"true\"].[/column][/content_band]</p>\r\n','Case Study: glasses.com App with 3Dfit Technology','','inherit','open','open','','6899-revision-v1','','','2014-11-06 18:27:07','2014-11-06 18:27:07','',6899,'http://sandbox.arrayfire.com/6899-revision-v1/',0,'revision','',0),(7061,7,'2014-11-25 17:35:35','2014-11-25 17:35:35','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\n\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\n\n[gap size=\"10%\"]\n\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\n\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\n// ]]></script>\n[/column]\n<div id=\"arrayfire\"></div>\n[/content_band]\n\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\n\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] Faster Code[/custom_headline][line style=\"border-top: solid #999999;\"]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.\n<p style=\"text-align: center;\">[button type=\"flat\" shape=\"rounded\" size=\"regular\" href=\"http://www.sandbox.arrayfire.com/docs/examples.htm\"]See some examples[/button][/column]</p>\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] Hardware Neutral[/custom_headline][line style=\"border-top: solid #999999;\"]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.\n<p style=\"text-align: center;\">[button type=\"flat\" shape=\"rounded\" size=\"regular\" href=\"http://www.sandbox.arrayfire.com/download\"]Download ArrayFire[/button][/column]</p>\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] Open Source[/custom_headline][line style=\"border-top: solid #999999;\"]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our excellent <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don\'t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums/\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.\n<p style=\"text-align: center;\">[button type=\"flat\" shape=\"rounded\" size=\"regular\" href=\"http://www.sandbox.arrayfire.com/docs/index.htm\"]View the documentation[/button][/column][gap size=\"3%\"][/content_band]</p>\n\n<div>\n\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\n\n[rev_slider customers]\n<h3 style=\"text-align: center;\">Join the ArrayFire community</h3>\n<p style=\"text-align: center;\">[button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"normal\" ]                    Get started                    [/button]</p>\n[/content_band]\n\n&nbsp;\n\n</div>','Home OPSC','','inherit','open','open','','6613-autosave-v1','','','2014-11-25 17:35:35','2014-11-25 17:35:35','',6613,'http://sandbox.arrayfire.com/6613-autosave-v1/',0,'revision','',0),(7062,7,'2014-11-06 19:12:35','2014-11-06 19:12:35','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"3%\"][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n\r\n<hr />\r\n\r\n<h3 style=\"text-align: center;\">Join the ArrayFire community</h3>\r\n<p style=\"text-align: center;\">[button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"small\" ]                    Get started                    [/button]</p>\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-11-06 19:12:35','2014-11-06 19:12:35','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(7063,7,'2014-11-06 19:31:28','2014-11-06 19:31:28','[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter size-full wp-image-431\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/OpenCLLogo_678x452-e1409845289634.png\" alt=\"OpenCLLogo_678x452\" width=\"326\" height=\"217\" />\r\n\r\n&nbsp;\r\n\r\n[/column] [/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:31:28','2014-11-06 19:31:28','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7064,7,'2014-11-06 19:37:11','2014-11-06 19:37:11','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter size-full wp-image-431\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/OpenCLLogo_678x452-e1409845289634.png\" alt=\"OpenCLLogo_678x452\" width=\"326\" height=\"217\" />\r\n\r\n&nbsp;\r\n\r\n[/column] [/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:37:11','2014-11-06 19:37:11','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7065,7,'2014-11-06 19:39:25','2014-11-06 19:39:25','','opencl','','inherit','open','open','','opencl-2','','','2014-11-06 19:39:25','2014-11-06 19:39:25','',7054,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png',0,'attachment','image/png',0),(7066,7,'2014-11-06 19:40:10','2014-11-06 19:40:10','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n&nbsp;\r\n\r\n[/column] [/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:40:10','2014-11-06 19:40:10','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7069,7,'2014-11-06 19:46:00','2014-11-06 19:46:00','','logo-nvidia','','inherit','open','open','','logo-nvidia-3','','','2014-11-06 19:46:00','2014-11-06 19:46:00','',7054,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2.png',0,'attachment','image/png',0),(7071,7,'2014-11-06 19:48:18','2014-11-06 19:48:18','','lbg_nvidia','','inherit','open','open','','lbg_nvidia-2','','','2014-11-06 19:48:18','2014-11-06 19:48:18','',7054,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/lbg_nvidia1.png',0,'attachment','image/png',0),(7072,7,'2014-11-06 19:51:47','2014-11-06 19:51:47','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:51:47','2014-11-06 19:51:47','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7073,7,'2014-11-06 19:55:07','2014-11-06 19:55:07','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:55:07','2014-11-06 19:55:07','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7074,7,'2014-11-06 19:56:22','2014-11-06 19:56:22','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 19:56:22','2014-11-06 19:56:22','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7075,7,'2014-11-06 20:10:37','2014-11-06 20:10:37','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:10:37','2014-11-06 20:10:37','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7076,7,'2014-11-06 20:13:22','2014-11-06 20:13:22','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"10%\"][custom_headline type=\"left\" level=\"h3\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h3\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:13:22','2014-11-06 20:13:22','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7077,7,'2014-11-06 20:16:00','2014-11-06 20:16:00',' ','','','publish','open','closed','','why-arrayfire','','','2015-05-01 21:26:34','2015-05-01 21:26:34','',0,'http://sandbox.arrayfire.com/?p=7077',1,'nav_menu_item','',0),(7078,7,'2014-11-06 20:18:25','2014-11-06 20:18:25','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"10%\"][custom_headline type=\"left\" level=\"h1\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h1\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h1\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:18:25','2014-11-06 20:18:25','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7079,7,'2014-11-06 20:20:13','2014-11-06 20:20:13','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"10%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:20:13','2014-11-06 20:20:13','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7080,7,'2014-11-06 20:20:52','2014-11-06 20:20:52','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"8%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:20:52','2014-11-06 20:20:52','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7081,7,'2014-11-06 20:43:26','2014-11-06 20:43:26','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"two-fifths\"]\r\n\r\n[custom_headline type=\"left\" level=\"h3\"]If you want faster code, you\'ve come to the right place.[/custom_headline][gap size=\"15%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"x-large\" block=\"true\"]Download ArrayFire[/button]\r\n\r\n[gap size=\"10%\"]\r\n\r\n[button  type=\"flat\" block=\"true\" shape=\"rounded\" href=\"http://www.meetme.so/arrayfire\" size=\"x-large\" ]Schedule a consultation[/button]\r\n\r\n[/column][column type=\"three-fifths\" last=\"true\"][gap size=\"7%\"]\r\n<div id=\"wistia_rj2bar3xxp\" class=\"wistia_embed\" style=\"width: 640px; height: 388px;\"></div>\r\n<script src=\"//fast.wistia.com/assets/external/E-v1.js\" charset=\"ISO-8859-1\"></script><script>// <![CDATA[\r\nwistiaEmbed = Wistia.embed(\"rj2bar3xxp\");\r\n// ]]></script>\r\n[/column]\r\n<div id=\"arrayfire\"></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/car-e1412967813807.png\" class=\"mbn\"] FASTER CODE[/custom_headline][line]ArrayFire is a blazing fast software library for GPU computing. Its easy-to-use API and array-based function set make GPU programming simple. A few lines of code in ArrayFire can replace dozens of lines of raw GPU code, saving you valuable time and lowering development costs.[/column]\r\n\r\n[column type=\"one-third\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-motorcycle-01-e1412969290876.png\" class=\"mbn\"] HARDWARE NEUTRAL[/custom_headline][line]ArrayFire supports both CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. We want your code to run as fast as possible, regardless of the hardware.[/column]\r\n\r\n[column type=\"one-third\" last=\"true\" ][custom_headline type=\"left\" level=\"h3\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/mini-plane-01-e1412969527633.png\" class=\"mbn\"] OPEN SOURCE[/custom_headline][line]ArrayFire is open source—it\'s all there and it\'s all free. Be sure to check out all of the ArrayFire functions (and a lot more!) in our well-composed documentation. And don\'t forget to visit our forums to connect with the ArrayFire community and pick up acceleration tips and innovative best practices.[/column][gap size=\"3%\"][/content_band]\r\n<div>\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][gap size=5%]\r\n\r\n[column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter wp-image-5395 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\" alt=\"1800contactlogo\" width=\"236\" height=\"40\" />[/column] [column type=\"one-fourth\" class=\"center-text\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6942\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Exxon-logo_0.gif\" alt=\"Exxon-logo_0\" width=\"525\" height=\"284\" />[/column] [column type=\"one-fourth\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Logo_2013_Google.png\"]\r\n\r\n&nbsp;\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-6837\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/LM-logo-700.jpg\" alt=\"LM-logo-700\" width=\"704\" height=\"200\" />[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-large wp-image-5390\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/Koch-Industries-1024x217.jpg\" alt=\"Koch-Industries\" width=\"742\" height=\"157\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-6838\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/Cisco_logo_2006.png\" alt=\"Cisco_logo_2006\" width=\"307\" height=\"180\" />\r\n\r\n[/column][column type=\"one-fourth\" class=\"center-text\"]<img class=\"aligncenter size-full wp-image-5396\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\" alt=\"LFG-B-HORZ_202_K\" width=\"239\" height=\"75\" />[/column][column type=\"one-fourth\" class=\"center-text\" last=\"true\"]<img class=\"aligncenter size-full wp-image-6941\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/09/US-CDC-Logo.png\" alt=\"US-CDC-Logo\" width=\"450\" height=\"272\" />[/column]\r\n<h3 style=\"text-align: center;\">\r\nJoin the ArrayFire community</h3>\r\n<p style=\"text-align: center;\">[button  type=\"flat\" shape=\"rounded\" href=\"http://sandbox.arrayfire.com/download\" size=\"small\" ]                    Get started                    [/button]</p>\r\n[/content_band]\r\n\r\n</div>','Home OPSC','','inherit','open','open','','6613-revision-v1','','','2014-11-06 20:43:26','2014-11-06 20:43:26','',6613,'http://sandbox.arrayfire.com/6613-revision-v1/',0,'revision','',0),(7082,7,'2014-11-06 20:50:01','2014-11-06 20:50:01','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"8%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Accordion Title\" parent_id=\"my-accordion\"]Your text here[/accordion_item] [accordion_item title=\"Accordion Title\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Accordion Title\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:50:01','2014-11-06 20:50:01','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7083,7,'2014-11-06 20:54:41','2014-11-06 20:54:41','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"8%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]Your text here[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:54:41','2014-11-06 20:54:41','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7084,7,'2014-11-06 20:55:34','2014-11-06 20:55:34','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"8%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"alignleft size-medium wp-image-351\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-300x214.png\" alt=\"Matrix Multiply\" width=\"300\" height=\"214\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:55:34','2014-11-06 20:55:34','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7085,7,'2014-11-06 20:56:08','2014-11-06 20:56:08','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][gap size=\"8%\"][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:56:08','2014-11-06 20:56:08','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7086,7,'2014-11-06 20:56:54','2014-11-06 20:56:54','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/Benchmark-guy-torso-opposite-e1392155948298.png\"][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 20:56:54','2014-11-06 20:56:54','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7087,7,'2014-11-06 21:06:03','2014-11-06 21:06:03','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-1024x730.png\" alt=\"Matrix Multiply\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-1024x730.png\" alt=\"Matrix Transpose\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-1024x730.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-1024x730.png\" alt=\"LU\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-1024x730.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-1024x730.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-1024x730.png\" alt=\"Convs\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-1024x730.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-1024x730.png\" alt=\"sum\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-1024x730.png\" alt=\"sort\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-1024x730.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:06:03','2014-11-06 21:06:03','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7088,7,'2014-11-06 21:07:49','2014-11-06 21:07:49','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" class=\"center-text\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion][/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-1024x730.png\" alt=\"LU\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-1024x730.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-1024x730.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-1024x730.png\" alt=\"Convs\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-1024x730.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-1024x730.png\" alt=\"sum\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-1024x730.png\" alt=\"sort\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-1024x730.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:07:49','2014-11-06 21:07:49','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7089,7,'2014-11-06 21:08:20','2014-11-06 21:08:20','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion][/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-1024x730.png\" alt=\"LU\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-1024x730.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-1024x730.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-1024x730.png\" alt=\"Convs\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-1024x730.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-1024x730.png\" alt=\"sum\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-1024x730.png\" alt=\"sort\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-1024x730.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:08:20','2014-11-06 21:08:20','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7090,7,'2014-11-06 21:10:56','2014-11-06 21:10:56','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-1024x730.png\" alt=\"LU\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-1024x730.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-1024x730.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-1024x730.png\" alt=\"Convs\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-1024x730.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-1024x730.png\" alt=\"sum\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-1024x730.png\" alt=\"sort\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-1024x730.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:10:56','2014-11-06 21:10:56','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7091,7,'2014-11-06 21:16:57','2014-11-06 21:16:57','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-1024x730.png\" alt=\"Convs\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-1024x730.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/tab][tab]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-1024x730.png\" alt=\"sum\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-1024x730.png\" alt=\"sort\" width=\"491\" height=\"350\" />[line]<img src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-1024x730.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:16:57','2014-11-06 21:16:57','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7092,7,'2014-11-06 21:23:30','2014-11-06 21:23:30','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\n[accordion id=\"my-accordion\"] [accordion_item title=\"Base\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Linear Algebra\" parent_id=\"my-accordion\" open=\"true\"]Your second accordion text[/accordion_item] [accordion_item title=\"Convolution\" parent_id=\"my-accordion\"]Your third accordion text[/accordion_item] [accordion_item title=\"Utility\" parent_id=\"my-accordion\"]Text here[/accordion_item][/accordion]\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />\r\n[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:23:30','2014-11-06 21:23:30','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7093,7,'2014-11-06 21:24:39','2014-11-06 21:24:39','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />\r\n[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:24:39','2014-11-06 21:24:39','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7094,7,'2014-11-06 21:29:04','2014-11-06 21:29:04','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"3%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:29:04','2014-11-06 21:29:04','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7095,7,'2014-11-06 21:30:14','2014-11-06 21:30:14','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"5%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:30:14','2014-11-06 21:30:14','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0);
INSERT INTO `wp_posts` VALUES (7096,7,'2014-11-06 21:30:26','2014-11-06 21:30:26','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter size-full wp-image-433\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/CUDA-logo-e1409845587173.jpg\" alt=\"CUDA logo\" width=\"231\" height=\"140\" />\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 21:30:26','2014-11-06 21:30:26','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7097,7,'2014-11-06 22:06:18','2014-11-06 22:06:18','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"521\" num_speed=\"1500\"  text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:06:18','2014-11-06 22:06:18','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7098,7,'2014-11-06 22:06:59','2014-11-06 22:06:59','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"521\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:06:59','2014-11-06 22:06:59','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7099,7,'2014-11-06 22:07:45','2014-11-06 22:07:45','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"521\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"][/counter]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:07:45','2014-11-06 22:07:45','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7100,7,'2014-11-06 22:09:12','2014-11-06 22:09:12','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"521\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[counter num_start=\"0\" num_end=\"40\" num_suffix=\"+\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Shortcodes\"]\r\n\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:09:12','2014-11-06 22:09:12','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7101,7,'2014-11-06 22:33:09','2014-11-06 22:33:09','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-7065 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" /><img class=\"aligncenter size-full wp-image-7069\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2.png\" alt=\"logo-nvidia\" width=\"840\" height=\"624\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:33:09','2014-11-06 22:33:09','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7102,7,'2014-11-06 22:34:41','2014-11-06 22:34:41','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"alignleft size-medium wp-image-7069\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"300\" height=\"222\" /><img class=\"alignleft size-full wp-image-7065\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"300\" height=\"240\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:34:41','2014-11-06 22:34:41','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7103,7,'2014-11-06 22:35:54','2014-11-06 22:35:54','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"alignleft wp-image-7069\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"alignleft wp-image-7065\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"250\" height=\"200\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:35:54','2014-11-06 22:35:54','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7104,7,'2014-11-06 22:36:19','2014-11-06 22:36:19','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"wp-image-7069 aligncenter\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"wp-image-7065 aligncenter\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"250\" height=\"200\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:36:19','2014-11-06 22:36:19','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7105,7,'2014-11-06 22:36:35','2014-11-06 22:36:35','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"wp-image-7069 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"wp-image-7065 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"250\" height=\"200\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:36:35','2014-11-06 22:36:35','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7106,7,'2014-11-06 22:36:44','2014-11-06 22:36:44','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"wp-image-7069 aligncenter\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"wp-image-7065 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"250\" height=\"200\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:36:44','2014-11-06 22:36:44','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7107,7,'2014-11-06 22:36:51','2014-11-06 22:36:51','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"wp-image-7069 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"wp-image-7065 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"250\" height=\"200\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire','','inherit','open','open','','7054-revision-v1','','','2014-11-06 22:36:51','2014-11-06 22:36:51','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7108,7,'2014-11-07 15:44:39','2014-11-07 15:44:39','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\" ][custom_headline type=\"left\" level=\"h2\" ]Faster code[/custom_headline]\r\n\r\nArrayFire allows your code to run its fastest. It beats efforts to manually write CUDA or OpenCL kernels. It beats compiler optimizations. It beats other libraries. ArrayFire is the simply best way to accelerate your code.\r\n\r\nWant proof? Check out our benchmarks! All benchmarks were performed on a NVIDIA Tesla C2050 with an Intel i7-950 processor. The benchmarks compare ArrayFire with several popular CPU-based acceleration libraries, including <a href=\"http://software.intel.com/en-us/articles/intel-mkl/\" target=\"_new\">Intel Math Kernel Library</a>, <a href=\"http://software.intel.com/en-us/articles/intel-ipp/\" target=\"_new\">Intel Integrated Performance Primitives</a>, <a href=\"http://eigen.tuxfamily.org/index.php?title=Main_Page\" target=\"_new\">Eigen</a>, and <a href=\"http://arma.sourceforge.net/\" target=\"_new\">Armadillo</a>.\r\n\r\n&nbsp;\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\"  last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][tab_nav type=\"four-up\"][tab_nav_item title=\"Base\" active=\"true\"][tab_nav_item title=\"Linear Algebra\" active=\"\"][tab_nav_item title=\"Convolution\" active=\"\"][tab_nav_item title=\"Utility\" active=\"\"][/tab_nav][tabs][tab active=\"true\"][accordion id=\"my-accordion\"] [accordion_item title=\"Matrix Multiply\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-351 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_multiply-e1409845945961.png\" alt=\"Matrix Multiply\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"Matrix Transpose\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-352 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/matrix_transpose-e1409846117548.png\" alt=\"Matrix Transpose\" width=\"482\" height=\"344\" />[/accordion_item] [accordion_item title=\"FFT\" parent_id=\"my-accordion\"]<img class=\"aligncenter wp-image-349 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/fft-e1409846374468.png\" alt=\"FFT\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"LU\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-350\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/lu-e1409846254351.png\" alt=\"LU\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"SVD\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-357\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/svd-e1409846164788.png\" alt=\"SVD\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Solve: Ax=b\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-354\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/solve-e1409846072990.png\" alt=\"Solve\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Separable Convolution\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-348\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/convs-e1409846211948.png\" alt=\"Separable Convolution\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"CONV\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-347\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/conv-e1409846333930.png\" alt=\"Conv\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][tab][accordion id=\"my-accordion\"] [accordion_item title=\"Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-356\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sum-e1409846033653.png\" alt=\"sum\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Sort\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-355\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/sort-e1409845987155.png\" alt=\"sort\" width=\"491\" height=\"350\" />[/accordion_item] [accordion_item title=\"Cumulative Sum\" parent_id=\"my-accordion\"]<img class=\"aligncenter size-full wp-image-353\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/scan-e1409845901355.png\" alt=\"scan\" width=\"491\" height=\"350\" />[/accordion_item][/accordion][/tab][/tabs][/column][/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][gap size=\"3%\"]\r\n<img class=\"wp-image-7069 alignleft\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/logo-nvidia2-300x222.png\" alt=\"logo-nvidia\" width=\"250\" height=\"186\" /><img class=\"alignleft wp-image-7065\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/opencl.png\" alt=\"opencl\" width=\"233\" height=\"186\" />\r\n<p style=\"text-align: center;\">[counter num_start=\"0\" num_end=\"240\" num_speed=\"1500\" num_color=\"#272727\" text_below=\"Functions\"]</p>\r\n[/column][column type=\"one-half\" last=\"true\"][custom_headline type=\"left\" level=\"h2\"]Hardware neutral[/custom_headline]\r\n\r\nArrayFire supports CUDA-capable NVIDIA GPUs and most OpenCL devices, including AMD GPUs/APUs and Intel Xeon Phi co-processors. It also supports mobile OpenCL devices from ARM, Qualcomm, and others. With ArrayFire, you can easily switch between CUDA or OpenCL without changing your code.\r\n\r\nArrayFire is a high-performance software library designed for maximum productivity and speed without the hassle of writing difficult low-level device code. Each of <a href=\"http://www.sandbox.arrayfire.com/docs/modules.htm\">ArrayFire\'s functions</a> has been hand-tuned by our CUDA and OpenCL experts.\r\n\r\n[/column]\r\n\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h2\"]Open Source[/custom_headline]\r\n\r\nArrayFire is open source—it’s all there and it’s all free. We\'re big fans of freedom, collaboration, and perpetual motion. Adapt ArrayFire to meet your needs, watch it blaze, and tell us all about it!\r\n\r\nBe sure to check out all of the ArrayFire functions (and a lot more!) in our <a href=\"http://www.sandbox.arrayfire.com/docs/index.htm\">documentation</a>. And don’t forget to visit our <a href=\"http://sandbox.arrayfire.com/forums\">forums</a> to connect with the ArrayFire community and pick up acceleration tips and best practices.\r\n\r\n[/column]\r\n\r\n[column type=\"one-half\" last=\"true\"][gap size=\"3%\"]\r\n\r\n<img class=\"aligncenter wp-image-4801 size-full\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou-e1409844224608.png\" alt=\"comingatyou\" width=\"433\" height=\"302\" />\r\n\r\n&nbsp;\r\n\r\n[/column][/content_band]','Why ArrayFire?','','inherit','open','open','','7054-revision-v1','','','2014-11-07 15:44:39','2014-11-07 15:44:39','',7054,'http://sandbox.arrayfire.com/7054-revision-v1/',0,'revision','',0),(7109,7,'2014-11-07 15:55:30','2014-11-07 15:55:30','[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]HIRE THE ARRAYFIRE TEAM[/custom_headline]\r\n\r\nHire us to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"top\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]CUSTOM CODING[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 15:55:30','2014-11-07 15:55:30','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7110,7,'2014-11-07 15:57:17','2014-11-07 15:57:17','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]HIRE THE ARRAYFIRE TEAM[/custom_headline]\r\n\r\nHire us to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]STARTER PACKAGE ($500)* [/custom_headline] Hire us for 1-day. We set you up with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]CUSTOM CODING[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 15:57:17','2014-11-07 15:57:17','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7111,7,'2014-11-07 16:00:33','2014-11-07 16:00:33','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nHire us to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for 1-day. We set you up with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:00:33','2014-11-07 16:00:33','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7112,7,'2014-11-07 16:00:55','2014-11-07 16:00:55','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nBring us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for 1-day. We set you up with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:00:55','2014-11-07 16:00:55','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7113,7,'2014-11-07 16:02:14','2014-11-07 16:02:14','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nBring us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:02:14','2014-11-07 16:02:14','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7114,7,'2014-11-07 16:03:02','2014-11-07 16:03:02','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column] [gap size=\"7%\"] [line]\r\n\r\n&nbsp;\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:03:02','2014-11-07 16:03:02','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7115,7,'2014-11-07 16:05:11','2014-11-07 16:05:11','','Epipheo background','','inherit','open','open','','epipheo-background','','','2014-11-07 16:05:11','2014-11-07 16:05:11','',6634,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background.png',0,'attachment','image/png',0),(7116,7,'2014-11-07 16:06:57','2014-11-07 16:06:57','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:06:57','2014-11-07 16:06:57','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7117,7,'2014-11-07 16:08:14','2014-11-07 16:08:14','','Epipheo background','','inherit','open','open','','epipheo-background-2','','','2014-11-07 16:08:14','2014-11-07 16:08:14','',6634,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png',0,'attachment','image/png',0),(7118,7,'2014-11-07 16:08:35','2014-11-07 16:08:35','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/arrayfire_logo_whitebkgnd.jpg\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:08:35','2014-11-07 16:08:35','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7119,7,'2014-11-07 16:10:21','2014-11-07 16:10:21','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:10:21','2014-11-07 16:10:21','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7120,7,'2014-11-07 16:11:35','2014-11-07 16:11:35','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.[/column][column type=\"one-third\" ][line]Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.[/column][column type=\"one-third\" last=\"true\" ][line]The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:11:35','2014-11-07 16:11:35','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7121,7,'2014-11-07 16:12:43','2014-11-07 16:12:43','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA, and this enabled them to speed up the necessary financial calculations. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:12:43','2014-11-07 16:12:43','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7122,7,'2014-11-07 16:13:34','2014-11-07 16:13:34','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/LFG-B-HORZ_202_K-e1396448935778.jpg\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/02/reveal_logo-e1396449044651.jpg\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:13:34','2014-11-07 16:13:34','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7123,7,'2014-11-07 16:15:19','2014-11-07 16:15:19','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/lincoln-logo-promo-01.png\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/reveal-logo-promo-01.png\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:15:19','2014-11-07 16:15:19','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7124,7,'2014-11-07 16:16:40','2014-11-07 16:16:40','','Lincoln Financial Group','','inherit','open','open','','lincoln-financial-group','','','2014-11-07 16:16:40','2014-11-07 16:16:40','',6634,'http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Lincoln-Financial-Group.png',0,'attachment','image/png',0),(7125,7,'2014-11-07 16:17:39','2014-11-07 16:17:39','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Lincoln-Financial-Group.png\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/reveal-logo-promo-01.png\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:17:39','2014-11-07 16:17:39','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7126,7,'2014-11-07 16:19:22','2014-11-07 16:19:22','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image type=\"thumbnail\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/lincoln-logo-promo-01.pnghttp://sandbox.arrayfire.com/wp-content/uploads/2014/11/Lincoln-Financial-Group.png\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/reveal-logo-promo-01.png\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:19:22','2014-11-07 16:19:22','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7127,7,'2014-11-07 16:19:51','2014-11-07 16:19:51','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image type=\"thumbnail\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/lincoln-logo-promo-01.png\"][/column][column type=\"one-third\" class=\"center-text\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/reveal-logo-promo-01.png\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:19:51','2014-11-07 16:19:51','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),(7128,7,'2014-11-07 16:20:45','2014-11-07 16:20:45','[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"][column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\"]Hire the ArrayFire team[/custom_headline]\r\n\r\nTake us on to accelerate your code, train your pros, or even write new code for your organization!\r\n\r\nWe’ve already helped thousands of organizations speed up their code. We’ve accelerated algorithms,  sped up data sets, and solved challenging problems of all types in the past, and we’re confident that we can accelerate your code, too.\r\n\r\nStart by setting up a free consultation to discuss your project with an ArrayFire expert today!\r\n\r\n[gap size=\"10%\"][button  type=\"flat\" shape=\"rounded\" href=\"http://meetme.so/arrayfire\" size=\"large\" block=\"true\"]Schedule a consultation[/button][/column][column type=\"one-half\" last=\"true\" class=\"center-text\"][gap size=\"15%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Bat-signal-e1391790016951.png\"][/column][/content_band][content_band bg_image=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/11/Epipheo-background1.png\" parallax=\"true\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-third\" class=\"center-text\"][image type=\"thumbnail\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/lincoln-logo-promo-01.png\"][/column][column type=\"one-third\" class=\"center-text\"][image type=\"thumbnail\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/10/reveal-logo-promo-01.png\"][/column][column type=\"one-third\" last=\"true\" class=\"center-text\"][gap size=\"5%\"] [image type=\"thumbnail\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/04/1800contactlogo.png\"][/column]\r\n\r\n[column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Lincoln Financial Group ported their CPU code (C/C++) to CUDA. Their primary objective was to reduce the time taken to run this code. Before porting to CUDA, they required 10-12 hours to run the entire code. After porting to CUDA, they were able to do the same work in about 30 minutes.</span>[/column][column type=\"one-third\" ][line]<span style=\"color: #ffffff;\">Reveal Imaging, an SAIC company, uses ArrayFire in developing threat-detection products for transportation systems—such as cargo and baggage screening in airports—and in securing facilities and public events.</span>[/column][column type=\"one-third\" last=\"true\" ][line]<span style=\"color: #ffffff;\">The Glasses.com app relies on computer vision to recognize the features of a user’s face. The application then generates an accurate, high-fidelity, three-dimensional model of that face, and virtually places selected frames on the image.</span>[/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band bg_color=\"#f2f2f2\" inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\"]\r\n\r\n[column type=\"one-half\"] [custom_headline type=\"left\" level=\"h3\"]Starter package ($500)* [/custom_headline] Hire us for a single day. We\'ll match you with one engineer dedicated for a full day, as well as support from senior and test engineers throughout the day. Here\'s how it works:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]We conduct an initial phone call.[/icon_list_item] [icon_list_item type=\"angle-double-right\"]You send us your code or algorithm. [/icon_list_item] [icon_list_item type=\"angle-double-right\"]We analyze your code for potential GPU benefit.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We accelerate as much of your code as is possible within the 1-day effort, applying our extensive GPU software libraries.[/icon_list_item][icon_list_item type=\"angle-double-right\"]We produce a final report for you, along with your optimized code.[/icon_list_item] [/icon_list] The final report outlines the best approach to follow for full GPU-acceleration of your code.\r\n\r\n[button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"regular\" href=\"http://sandbox.arrayfire.com/product/consulting-starter-package/\" title=\"Starter Package\"]Buy the Starter Package[/button]\r\n\r\n&nbsp;\r\n\r\n*Limit one (1) per customer.\r\n\r\n[/column][column type=\"one-half\" last=\"true\" fade=\"true\" fade_animation=\"in-from-left\" ][gap size=\"10%\"][image src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/comingatyou.png\"][/column]\r\n<div></div>\r\n[/content_band]\r\n\r\n[content_band inner_container=\"true\" no_margin=\"true\" border=\"none\" padding_top=\"40px\" padding_bottom=\"40px\" ]\r\n\r\n[column type=\"one-half\"][custom_headline type=\"left\" level=\"h3\" ]Custom coding[/custom_headline]\r\n\r\nYour hardware can do anything, given the right code. Getting that code right can be tricky when your team is swamped in work or when you\'re new to parallel programming. Bring us in—our team is capable of writing custom code that\'s as unique as your work and tailored to your task. Here\'s what we bring to the table:\r\n\r\n[icon_list] [icon_list_item type=\"angle-double-right\"]Deep experience, already servicing thousands of customers[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Quality work, with leading GPU software [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Efficient delivery, with ArrayFire\'s code base we can deliver results fast[/icon_list_item][icon_list_item type=\"angle-double-right\"]Proven solutions, we make customers happy through faster code[/icon_list_item][/icon_list]\r\n\r\nOur specialties include the following:[icon_list] [icon_list_item type=\"angle-double-right\"]Excellence in GPU code[/icon_list_item] [icon_list_item type=\"angle-double-right\"]Well-written, efficient C, C++, Fortran, Java, or .NET [/icon_list_item] [icon_list_item type=\"angle-double-right\"]Application porting and integration[/icon_list_item][icon_list_item type=\"angle-double-right\"]Tuning software to peak hardware performance[/icon_list_item][icon_list_item type=\"angle-double-right\"]Scalability of algorithms to handle enterprise-level programs[/icon_list_item] [/icon_list][/column][column type=\"one-half\"  fade=\"true\" fade_animation=\"in-from-right\" last=\"true\" ][gap size=\"15%\"]<img class=\"aligncenter size-large wp-image-5100\" src=\"http://sandbox.arrayfire.com/wp-content/uploads/2014/01/Triumvirate_Exported-1024x599.png\" alt=\"Triumvirate_Exported\" width=\"742\" height=\"434\" />[gap size=7%][button type=\"flat\" block=\"true\" shape=\"rounded\" size=\"large\" href=\"http://meetme.so/arrayfire\" title=\"Tech Consultation\"]Schedule a consultation[/button][/column]\r\n<div></div>\r\n[/content_band]','Consulting, OPSC','','inherit','open','open','','6634-revision-v1','','','2014-11-07 16:20:45','2014-11-07 16:20:45','',6634,'http://sandbox.arrayfire.com/6634-revision-v1/',0,'revision','',0),