6 ms·
Hello everyone! I am a co-founder of ArrayFire. Since this is a startup-oriented board, I thought readers of this thread might be interested in how we arrived a
by melonakos 12y ago
Hello everyone! I am a co-founder of ArrayFire. Since this is a startup-oriented board, I thought readers of this thread might be interested in how we arrived at this decision to open source from a business perspective, http://notonlyluck.com/2014/07/31/the-decision-to-open-source-arrayfire/ http://notonlyluck.com/2014/07/31/the-decision-to-open-sourc...
For technical questions, @pavanky is on here :-)
- galapago 12y agoCan you give a short comparative with Theano?
- pavanky 12y agoI am not too familiar with Theano, but from what I can tell it is more focused towards Deep Learning. So I will refrain from comparing and will give you a short list about ArrayFire. - Supports multiple backends, so you can run on NVIDIA GPUs, AMD GPUs, Intel Xeon Phis, and all CPUs using the same API. - ArrayFire currently has statistics, image processing, signal processing and Linear algebra functions. We are planning to add Machine Learning and Computer Vision functions / algorithms in the near future. - ArrayFire is a native (C/C++) library. It can be used from other languages fairly easily. - The main goal is to make parallel programming in general (GPU programming in particular) easier and portable.
- bch 12y agoI glanced for extern C clauses but didn't see them -- is C considered a first-class language to bind to this lib though ? update: Downloaded repo, grepped, found externs... looking forward to playing with this :)
- pavanky 12y agoYou can look at our headers to find the C api alongside the C++ API. Here is the image.h header file for example: https://github.com/arrayfire/arrayfire/blob/devel/include/af/image.h https://github.com/arrayfire/arrayfire/blob/devel/include/af... extern "C" is present on line 58.
- _stephan 12y agoI find this decision very intriguing from a business perspective. Thanks for elaborating on the reasons in the blog post. By completely open sourcing your only software product with a liberal license you seem to be turning a software (product) company into a software consultancy, is that a fair assessment? Do you think the market conditions that lead you to this decision are very specific to GPU computing, or would you expect similar conditions in the more general scientific computing/HPC market? Would you say that it's generally simpler to earn money by doing specialized consulting than by selling technical software libraries, even though the former is less "scalable"? If you're earning all the money with consulting and support, how do you allocate ressources to the further development of the library? Do your software engineers enjoy working on your company's product the same as working on client projects?
- pavanky 12y agoI can not answer the other questions, so I'll let John handle that part. I can answer this: > If you're earning all the money with consulting and support, how do you allocate ressources to the further development of the library? Do your software engineers enjoy working on your company's product the same as working on client projects? This is a question we have debated a lot internally. The shortest answer is that our experience building the product bring in the customers. The customer requirements can drive further development of the product. Choosing the appropriate open source license (BSD-3 clause in this case), helps us reuse a lot of our code in a wide variety of situations.
- beagle3 12y ago> Choosing the appropriate open source license (BSD-3 clause in this case), helps us reuse a lot of our code in a wide variety of situations. If I understand it correctly, since you wrote the code and own the rights, you can do this regardless of the license you chose; e.g., you could have done an AGPL-3 release to the public, and continue giving license-to-use-and-modify-but-not-release to customers. Am I misunderstanding?
- pavanky 12y ago
- Game_Ender 12y agoDoes this include ArrayFire Pro [1], mentioned on your doc pages? I am having a hard time finding the source to the pro versions on your GitHub page. 1 - http://www.arrayfire.com/docs/arrayfirepro.htm http://www.arrayfire.com/docs/arrayfirepro.htm
- melonakos 12y agoYes, ArrayFire Pro is no longer proprietary. We literally open sourced every bit of the library we have. We held nothing back in this :-) We need to remove mention of ArrayFire Pro from the website now. Thanks for pointing to that.