Paul Bone fd1459eccc Compatibility with Debian packaging.
Packaging Mercury for Debian requires creating some patches to make sure that
Mercury can be built under the control of dpkg-buildpackage.  It's recommended
that these patches are pushed upstream (into Mercury) so that everyone can
benefit from them, not just Debian packagers.

Mmake.common.in:
scripts/Mmake.vars.in:
    Install Mercury at $DESTDIR/@prefix@, $DESTDIR helps someone setup Mercury
    to run from @prefix@ while putting it in $DESTDIR.  $DESTDIR/* can easily
    be tared up and then deployed on other systems.

Mmakefile:
Makefile:
    Pass the $DESTDIR variable to make sub-processes.

scripts/Mercury.config.in:
scripts/Mercury.config.bootstrap.in:
    Remove the hash-bang line from these scripts since they are not executable.

    This change improves conformance with Debian packaging standards.
2010-12-14 07:01:55 +00:00
2010-11-23 04:37:15 +00:00
2010-12-07 03:44:20 +00:00
2010-12-07 05:35:14 +00:00
2010-12-14 07:01:55 +00:00
2010-12-14 07:01:55 +00:00
2010-12-13 04:40:39 +00:00

Threadscope
===========

This file contains information about threadscope profiling for Mercury.

 1. Contact Info
 2. Supported Systems.
 3. Threadscope Profiling Tools


Contact Info
------------

    Paul Bone
    pbone@csse.unimelb.edu.au

    Mercury Project
    mercury@csse.unimelb.edu.au
    http://www.mercury.csse.unimelb.edu.au


Supported Systems
-----------------

Threadscope uses the RDTSCP or RDTSC instructions found on some x86 and x86_64
processors to get fast, high precision timing information.  These instructions
read the time stamp counter (TSC), this is incremented for every clock cycle.
Processors must increment this at a constant rate, regardless of their power
state, (see /proc/cpuinfo for constant_tsc).

TSC must also be synchronised between processors in the same system, although
it may be possible to work around this, let me know if you have such a system
(See contact info).

AMD processors do not seem to store their clock frequency in their brand ID
string.  On these systems Theadscope profiles are not to scale since clock
counts cannot be converted into time in nanoseconds.  The threadscope profile
will count one nanosecond for each clock tick.

I have had success with the following processors:

    Intel Core2
    Intel Xeon CPU X5472 (in a dual socket system).

Processors that do not work correctly:

    AMD Athlon 64 X2 

Threadscope Profiling Tools
---------------------------

Mercury supports threadscope profiling.  See the profiling section in the user
guide. 

The Threadscope profiling tools are written in Haskell and are known to work
with GHC 6.10.  threadscope depends upon the following Haskell libraries:

    array
    binary
    containers
    filepath
    ghc-events
    gtk2hs
    mtl

Many of these will be provided with GHC or packaged for/by your operating
system.

ghc-events is not packaged by most operating systems at this stage, It can be
retrieved from hackage:

    http://hackage.haskell.org/package/ghc-events

threadscope itself can also be retrieved from hackage:

    http://hackage.haskell.org/package/threadscope

Information about how to install Haskell packages can be found here:

    http://haskell.org/haskellwiki/Cabal/How_to_install_a_Cabal_package

Description
No description provided
Readme MIT 145 MiB
Languages
Mercury 85.4%
C 8.7%
Shell 1.4%
Makefile 1%
JavaScript 1%
Other 2%