Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I'm wondering what if any GPU integration libraries exist for Clojure?
I've seen examples of this that involve hand-rolling OpenCL code, but I'm specifically I'm looking for something similar to Anacoda accelerate, which translates Numpy Python expressions to CUDA code relatively seamlessly.
I'm open to either OpenCL or Cuda approaches.
here is a project that recently started on github https://github.com/JulesGosnell/clumatra. Its seems more like an experiment and its quite impressive!
There is a Google Summer of Code project proposal to add a GPU matrix implementation to core.matrix:
http://dev.clojure.org/display/community/Project+Ideas
Once completed, this project would allow large vector/matrix expressions to be optimised and executed on GPUs.
Disclaimer: I'm a possible mentor for this project.
clojureCL was released a few months after this question was posted. It looks like it offers a more idiomatic interpretation of the standard interface, but it is not a tool that would transform Clojure math / vector operations into OpenCL operations (I think that that is what the OP is looking for?)
[ClojureCL] brings a lot of power, but do not expect it to be an easy ride if you’ve never programmed anything on the GPU or embedded devices. With ClojureCL, it is not [as] difficult as in C (OpenCL Hello World in C is a hundred lines of source code, in ClojureCL it’s only a few), ...
The good news is that you can use any OpenCL book to learn ClojureCL, and we even provide ClojureCL code for the examples used in the OpenCL in Action book.
An old topic but now we have clojurecuda, which is a wrapper on JCuda!
It won't give you automagic speedup on things but at least Neanderthal is a higher level library for linear algebra.
Related
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am looking for C and C++ implementations of artificial intelligence algorithms useful in games. Some of the ones I am most interested in are reinforcement learning algorithms, genetic algorithms and neural networks. Any others are interesting too, however.
I have found dlib.net which has some very fascinating machine learning algorithms, but these don't seem particularly geared towards games.
The licenses I can use are the Boost Software License, the Zlib/Libpng license, and public domain. Any recommendations of libraries that fall under any of these licenses would be highly appreciated.
AI is a huge field, so just saying "useful in games" doesn't mean too much. This probably isn't exactly what you're looking for, but you may be able to get some use out of Alchemy:
"Alchemy is a software package providing a series of algorithms for statistical relational learning and probabilistic logic inference, based on the Markov logic representation. Alchemy allows you to easily develop a wide range of AI applications, including:
Collective classification
Link prediction
Entity resolution
Social network modeling
Information extraction"
http://alchemy.cs.washington.edu/
Even if you wanted a library, I would highly recommend to program artificial intelligence by yourself. It may not be that easy, but programming does (in my view) not mean using other peoples work.
A short introduction to the study of AI can be found here.. (needs some seconds to load..)
If you can not assimilate to the thought of programming on your own, I heard about "Kynapse" being a very nice AI SDK for middleware programs.
I hope this helps somehow
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
Are there any good sources containg C++ versions of MATLAB functions? I am only looking for some basic functions i.e. fzero.
fzero is non trivial.
If your function is polynomial, try GSL http://www.gnu.org/software/gsl/
Try looking at GNU Octave. It's a FLOSS alternative to MATLAB and has a lot of the same functionality. Take a look at its implementation of fzero, keeping in mind that the code is GPL'ed.
I do a lot of work in C++ for science and engineering applications. One of my favorite references is Numerical Recipes nr.com. Some of the older versions of the book included code that looked like Fortran but was written in C, for example indexes of arrays started at 1. The latest version from 2007 (C++ only 3rd edition) corrected many of the complaints like 1 indexed arrays and confusing namespace. Even if you don’t like the code the simple explanations of the math make the book worth buying. Be warned some people consider the license for the code harsh but compared to Matlab it is a giant leap forward. Other things to try is GSL and Intel Math Kernel Lib. Good luck.
Check out the embedded matlab subset. It allows you to convert matlab scripts into C code. I use it to make libraries out of matlab functions which I link to form C++ projects. It only supports a subset of functions, but fzero is included in the list with some limitations . . .
http://www.mathworks.com/help/toolbox/eml/ug/bq1h2z7-9.html
This allows you to do all of your algorithmic development in the warm and cozy Matlab environment. Matlab will even build the C library. All you have to do is link to it. This is WAY easier than learning a bunch of C++ numerical libraries if you're already familiar with Matlab.
I don't think it contains an fzero equivalent, but Armadillo does have many C++ versions of MATLAB functions (so may do for some instances). See, for example, this conversion table.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
Which of these languages is better for opengl game with primary platform linux?
I would like if you compared them in performance and libraries support.
C++ is a low-level, highly flexible and powerful language. It compiles native code (it's fast) and has a large array of helpful libraries. I would recommend it for any OpenGL project. You may also look into other c-family languages, that share many of the same benefits.
(I sound like an ad)
If you don't know enough about C++ and C# to answer this question yourself then I suggest you go for C#.
In C++ you may get slightly better performance, but only if you have enough experience with it. Otherwise it'll probably end up being slower.
C++ libraries can be easily called from Mono using pInvoke, but Mono libraries cannot be used from C++ (without embedding entire mono in your game).
Library support is about the same, all of the 3d rendering libraries I can think of have .net bindings. If you want lower level libraries(openGL, openAL etc.) OpenTk has bindings for just about everything you need. A quick look at the programming language shootout looks like mono is 1/2 the speed of G++ I would be really surprised if that held in the general case though.
I would say it largely depend on the code to be developed, I mean, the rest of the app. For pro gaming stuff and so on C++ seems to be the stronger choice.
I've used OpenGL + C# to render our version tree (plastic scm) on Linux, Windows, Mac with very good results, but we're not doing a game! :)
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
what popular advance mathematics libraries for c++ are present out there, so that they can be used as a 1 stop solution and avoiding reinventing the wheel ?
Check out GNU Scientific Library -- it's in C, but I use it all the time to avoid re-writing the Numerical Recipes code.
Intel's MKL (Math Kernel Library) is to be looked at especially if doing large scale matrix operations; it's C based, but should not really be an issue IMO.
Other than that, maybe the boost math library could be interesting as it is free. (but I have no experience with it, so YMMV).
Max.
Like others have said, you will probably not find a single library to handle all of the areas you listed. For matrix algebra, I've heard good things about the Eigen C++ library from coworkers who are using it.
For commercial libraries, both NAG (Numerical Algorithms Group, http://www.nag.co.uk/) and IMSL ( http://www.vni.com/products/imsl/ ) are standards and provide industrial-strength numerical analysis algorithms.
look through the list and mix-and-match. You want very many things, unlikely any single package is going to do them all.
http://www.oonumerics.org/
octave is the only one that is going to be more or less comprehensive (functionality comparable/clone to Matlab)
http://www.mathias-michel.de/download/howto-octave-c++.ps
For group theory there is GAP.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Possible duplicate
What is the best open source example of a lightweight
Windows Application?
µTorrent is a small bit-torrent client, a really small one. It doesn't come with an installer, just a exe, you drop in your PATH somewhere. It's super lightweight and yet feature rich. Plus it is the work of one man. It's also closed-source.
Many people have been curious about how it has been written, and there are hints here and there about a custom library etc. But the question is, are there any programs with attributes like µTorrent that are available with source code--attributes like speed, small size, awesomeness.
Possible related question (/questions/9603/what-is-some-great-source-code-to-read), but think smaller than something like the Linux kernel.
Clarification: I don't want examples of bit-torrent source code, but anything which is used by tons of people (validation of awesomeness) and also fast, small and awesome!
I think you should take a look at Notepad++ if you want to see a feature-rich low-consumption of power software :)
Netcat
It's the program that started all of the curiousity behind networks and how things WORK.
Everyone's looked at this source code.
rTorrent is a lightweight, feature-rich, console-only open-source torrent client.
I like Frhed, a simple open-source Windows hex editor.
FRESHMEAT is a great place to start. There are lots of small open source programs available that you can study.
Examples:
XML-RPC specification.C implementation for Python. Its easy to learn and its fun.
Heapq [\Lib\heapq.py] , xml-rpc [\Lib\xmlrpc] and lots of other codes in Python library are very well written.