Linpack on of the most popular benchmarks because it is used to create the Top500 list.
This is one of the first versions that you could run on a single core machine
mkdir linpack
cd linpack
mkdir base
cd base
wget http://www.netlib.org/benchmark/linpackc.new
mv linpackc.new linpack.new.c
mkdir base
cd base
wget http://www.netlib.org/benchmark/linpackc.new
mv linpackc.new linpack.new.c
Top500 is build using a more complex version
take care that a #define DP is writen in the source, so if you want to use single precision floating point numbers, you should remove that line.
To compile for double precission and single precission, simply type
sed -i '/#define DP/d' ./linpack.new.c
gcc -DDP -O4 -o linpack.new.dp linpack.new.c
gcc -DDP -O4 -o linpack.new.dp linpack.new.c
gcc -DSP -O4 -o linpack.new.sp linpack.new.c
Fortunatelly there is an OpenMP implementation of the benchmark, although it is not exactly functionally equivalent
cd ..
mkdir omp_base
mkdir omp_base
cd omp_base
wget http://www.hpcs.cs.tsukuba.ac.jp/omni-compiler/xcalablemp/download/trunk/tests/clinpack/clinpack.c
To compile it, type
gcc -fopenmp -DUNROLL -DDP -DCTimer -DOMPC -DORDER=1000 -O4 -o linpack.omp clinpack.c