CPU-optimized RPMs
Sometimes you just have to have all the speed you can get. I run some very CPU-intensive code, and even a little more effort from my compiler can result in big wins. Here is a collection of the tools and scripts I have hacked up to get RPMs optimized for my CPU. When I started this little project, I was only concerned with Prescott CPUs, but decided to throw in nocona support too, while I was at it. Since that time, I have acquired four lab machines with EM64T-enhanced Pentium 4s, a laptop with a Pentium-M, and a really old experimentation-only Pentium 2, so I added support for those platforms also. All of these RPMs are very Fedora Core centric; that's because I am using that distribution (currently Fedora Core 6). If you would like to add support for some other Linux distribution, please contact me.
Disclaimer: Using the tools, scripts, and techniques discussed herein is dangerous. You can easily make your system unusable. If you are not very familiar with building and installing RPMs, stop now. This page is not for you. In any case, I am not liable for problems you may cause yourself by using the tools, scripts, and techniques discussed herein, neither do I have the resources to provide support (unless you are willing to pay for my time, but I warn you that I do not come cheap). This page is here as a community service only. You are on your own.
Note: Due to space problems, I am not able to post binary RPMs on this web page. Furthermore, some of the programs listed here are distributed under non-free licenses, so I cannot provide the sources either. Hence, all you get is either src or norsrc RPMs. If some RPM repository would like to help out, let me know.
To get started, you need to install the modified rpm and redhat-rpm-config packages. If you use the Intel compiler, then you should also install the icc-fedora package. Then you will be ready to create your very own CPU-optimized binary RPMs.
The Packages
Modified, Improved, or Fixed Fedora Packages
These packages exist in either Fedora Core or Fedora Extras. (Those repositories are merging soon, by the way.) I have modified, improved, or repaired them in some way, usually in a way that is unacceptable to Fedora for some reason.
- libuser: add support for user management with LDAP and authentication with Kerberos
- redhat-rpm-config: pass more aggressive platform flags to gcc
- rpm: pass more aggressive platform flags to gcc and support more x86 platforms
Free Packages
These packages are freely distributable. I provide source RPMs for each.
- BuDDy: BDD manipulation library
- CAL: BDD manipulation library using breadth-first algorithms
- cream: constraint programming in Java
- cudd: BDD manipulation library
- cvc3: CVC3, a quantifier-free first-order formula validity checker
- cvcl: CVC Lite, a quantifier-free first-order formula validity checker (obsolete)
- glazedlists: a set of Java classes for easy list and table display in Java
- icc-fedora: make use of ICC more convenient on Fedora, and also provide macro files for rpmbuild
- ICS: efficient decision procedure for a fragment of first-order logic (obsolete)
- javapathfinder: deep analysis of Java code
- jlint: find bugs in Java code
- JML: the Java Modeling Language
- libmba: a library of generic C modules
- Omega: Analysis and transformation of scientific progams
- pvs: Prototype Specification and Verification System
- sal: Symbolic Analysis Library, tools for exploring concurrent systems
- Spread, a group communication system
- VICE, a Commodore 64 emulator
- xito-bootstrap: a framework for booting Java applications off the Internet
- xito-dialog: easy dialogs for Java applications
- xito-reflectKit: convenience wrappers around the Java Reflection API
Non-Free Packages
These packages have restrictive licenses. I do not provide the sources. You have to download those yourself after signifying your agreement with the license terms. All I provide is a nosrc RPM.
- pvs: Prototype Specification and Verification System
- yices: an efficient SMT solver
- zChaff: a Boolean Satisfiability solver
Packages without licenses
These packages are clearly intended to be free, given statements by their authors. However, the authors have failed to provide a clear license, making them unacceptable to repositories with lawyers.
- pvslib: NASA Langley collection of PVS theories
- SIM: a software and text similarity checker
- Spin: a model checker
- UNO: a C source code analysis program
Packages that are no longer here
These packages used to be offered on this web page, but have since been moved to another repository.
- freefont: now available from Fedora Extras
- latexmk: now available from Fedora Extras
Last modified: Tue May 22 11:09:34 MDT 2007 by Jerry James