April 5th, 2010
Code to test the performance of matlab code and benchmark algorithms is now available here: perf. It uses the internal matlab walltime (tic/toc) and cputime functions as well as the PerformanceApplication Programming Interface (PAPI) using hardware counters for floating point operations, instructions, cycles and the PAPI real-time timer. It also counts m and builtin matlab function calls using matlab’s profiler. It’s mainly aimed at iterative algorithms.
See perf_test.m for some usage examples to collect the information and plot the results. Collecting information is done via perf_profile for the function call counters and perf_timing for the timers and PAPI counters. Use perf_profile_plot to plot and perf_timing_plot to plot the results. Iterative code needs to call perf_record_iteration(v) after each iteration to collect counters and timing information per iteration, where v is the value (vector) result for the current iteration.
The whole package still needs some detailed documentation and will be integrated with the Qyber package, mainly to test algorithms related to quantum engineering. For now this is an initial test version.
Categories: Research, Software |
Tags: benchmark, matlab, performance | No Comments
October 12th, 2008
“Creativity and innovation always build on the past. The past always tries to control the creativity that builds upon it. Free societies enable the future by limiting this power of the past. Ours is less and less a free society.”
Lawrence Lessing
I am supporting free software whenever possible and you’ll easily find me rejecting something just for it is related to commercial software. I find commercial software rather inflexible, sometimes awkward to use, hard to maintain and by using it I put pressure on other people to use the same system. Its restrictive nature does limit its use and improvement. It sets limits for people rather than allowing them to expand the system and adjust it to their needs.
Free software is the ideal platform for my research work. I can easily share my software and other people can learn from it and improve it. Free software allows and encourages modification and improvement. Furthermore it cannot be restricted, i.e. other programs using it and modifications of the software have to remain free. The use of the software is not limited by restrictive copyright or even patents.
Projects driven by the prospect of some gain or reward have a tendency to be optimised for that reward rather than for the project’s purpose. The reward becomes the major drive and replaces the initial motivation of the project; assuming there was one. One could actually say that this alienates the developer from the product by certain kind of rewards. For software it means that it is written for commercial success rather than for high quality and often these are contradictory goals. This, as well as the basic idea of free software, is not limited to software.
For more information on free software see the GNU project. I am currently using various GNU/Linux platforms running the Debian GNU/Linux distribution. Also see the dotCommunist Manifesto.
Categories: Software |
Tags: FreeSoftware | No Comments