benchHLCMContentsIndex
Main
Description

Main program to invoke the LCM algorithm and compute closed frequent itemsets, with benchmarking options. These benchmarking options allow to test various ways of using semi-implicit parallelism of Haskell.

Usage :

benchHLCM input_data support_threshold strategy_id value_for_parBuffer depth

See the page for the main of hlcm for details about what the program do.

Parameters are :

  • input_data : input file, must be in the numeric format described in hlcm main executable.
  • support_threshold : minimal frequency of a pattern. Less means more computations and longer execution times.
  • strategy_id : 1 = myParBuffer from Simon Marlow (see file HLCM.hs, no memory leak), 2 = parBuffer from Control.Parallel.Strategies (can have a memory leak), 3 = parMap
  • value_for_buffer : if strategy is myParBuffer or parBuffer, value to use for buffering (you can start with 8)
  • depth : during depth first exploration, below the depth given no more sparks are created

A typical execution:

time benchHLCM Data/mushroom.dat 1000 1 8 2 >/dev/null +RTS -N2

This runs benchHLCM on the mushroom dataset, with a support of 1000, strategy=myParBuffer with n=8 and a spark cutoff depth of 2. The outputs are not interesting for benchmarking, they are thus dumped in devnull. Two cores are requested.

Note that there is a known bug in GHC 6.10.4/6.12.1: on a machine with N cores, it is better to use <= N-1 cores. See http://hackage.haskell.org/trac/ghc/ticket/3553#comment:5.

Synopsis
main :: IO ()
Documentation
main :: IO ()
Main program, parses command line, calls LCM and dumps raw output.
Produced by Haddock version 2.6.0