Its hard to believe, but our ArrayFire GPU computing library has been open-source for an entire year. While we were packing up our booth to head to <a href="http://sandbox.arrayfire.com/arrayfire-at-sc15/">SuperComputing 2015</a> my colleagues started reminiscing on how much our company and library have changed.
<h3>ArrayFire the library</h3>
In terms of raw statistics, the ArrayFire library is a really active project given that GPU computing is still seen as a niche field. Since its inception, ArrayFire has received 3285 commits from 31 developers (11 of which are our employees) and  produced nine (public) releases. At present we have 84 watchers, 1141 stars, and 160 forks of our code. In the last year we have had a total of 1105 opened issues. Of these, 427 are closed, 577 are closed pull requests, and 90 remain open.

Using the popular <a href="http://www.dwheeler.com/sloccount/">SLOCCount</a> program, we can get a lot of interesting statistical information about the ArrayFire library including the number of lines of code per source type and approximate cost of development:

&nbsp;
<table>
<thead>
<tr>
<th>Metric</th>
<th>3.0 beta</th>
<th>3.2</th>
</tr>
</thead>
<tbody>
<tr>
<td>cpp</td>
<td>59140</td>
<td>99287</td>
</tr>
<tr>
<td>opencl*</td>
<td>4522</td>
<td>7658</td>
</tr>
<tr>
<td>ansi-c</td>
<td>547</td>
<td>676</td>
</tr>
<tr>
<td>xml</td>
<td>165</td>
<td>171</td>
</tr>
<tr>
<td>sh</td>
<td>0</td>
<td>49</td>
</tr>
<tr>
<td>lines</td>
<td>64,374</td>
<td>107,841</td>
</tr>
<tr>
<td>commits</td>
<td>1,467</td>
<td>3,286</td>
</tr>
<tr>
<td>contributors</td>
<td>21</td>
<td>31</td>
</tr>
<tr>
<td>Estimated Cost</td>
<td>$2,891,353</td>
<td>$3,168,838</td>
</tr>
</tbody>
</table>
* Note: SLOCCount thinks our OpenCL kernels (.cl) are closure (lisp) files.

So in the last year contributions from <a href="https://github.com/arrayfire/arrayfire/graphs/contributors">ourselves and others</a> have added approximately $300,000 in functionality to the library.

In the last year we have added a ton of new functionality including:
<ul>
	<li>Computer vision: FAST, ORB, Nearest Neighbor, Harris, SUSAN,  SIFT, Difference of Gaussians, Homography, and GLOH</li>
	<li>Image processing: Convolution, DFT, template matching, SOBEL, colorspace conversion, erosion, wrapping, unwrapping, summed area of tables, and load/save raw images.</li>
	<li>Signal processing: in-place FFTs</li>
	<li>Linear algebra: Matrix multiplcication, in-place factorization, solving routines, single value decomposition</li>
</ul>
And a wealth of other functionality including support for 16-bit integers, graphics, a unified backend, and convenience debugging/printing functions.