Ask Your Question

Which packages optimize performance parameters during build?

asked 2013-12-17 21:14:26 +0200

rickhg12hs gravatar image

updated 2013-12-23 04:31:32 +0200

Which packages use performance testing during the build process to optimize it? For example, I know NTL and Atlas do some testing to pick the best parameters for the platform. What other packages do this?

If I want to rebuild the performance testing packages during system "low-load" times, how should that be done? Like this? [Edited to fix character case]

$ ./sage -f ntl  && ./sage -f atlas ... && ./sage -b

Are there dependencies? In what order should they be rebuilt?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-12-23 04:01:08 +0200

ppurka gravatar image

Yes, something close to that command will work. In particular, you need to provide the package name taking care of the upper or lower case. To find the exact package name, you can look at

  1. SAGE_ROOT/spkg/standard directory for sage version up to 5.13.
  2. SAGE_ROOT/upstream directory for sage version from 6.0 onwards.

If you have installed sage earlier, then you don't need to do anything else. The commands you gave (with proper case) are more than enough. They will simply recompile those specific packages. Other packages do not need to be recompiled.

edit flag offensive delete link more


So it's really only `ntl` and `atlas` that doing any build parameter performance testing?

rickhg12hs gravatar imagerickhg12hs ( 2013-12-23 04:32:28 +0200 )edit

You will have to look at the output of the various packages (check `SAGE_ROOT/logs/install.log`). I suspect r might be also doing some tuning. In fact, almost all compiled packages _should_ be doing some tuning, at least for the compilation flags, so that it is specific to your architecture. If you want to force some compile time optimization, you can define the `CFLAGS` before compiling: $ export CFLAGS="-march=native -pipe" $ export CXXFLAGS="${CFLAGS}" You can read up on `-march=native` from your gcc manual. You can check what it enables by comparing the output of the following two commands $ gcc -Q -march=native --help=target $ gcc -Q --help=target

ppurka gravatar imageppurka ( 2013-12-23 09:37:35 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2013-12-17 21:14:26 +0200

Seen: 470 times

Last updated: Dec 23 '13