Wiki

Clone wiki

C-Development / Kommandozeile

Fréchet-View kann auch über die Kommandozeile gestartet werden und bearbeitet dann jeweils eine Datei.

Als Eingabe wird der Name der Datei erwartet. Als Algorithmen stehen zur Verfügung

  • -c Fréchet-Distanz für Kurven
  • -p Fréchet-Distanz für einfache Polygone
  • -k k-Fréchet-Distanz

Für die Algorithmen -c und -p können jeweils drei Varianten berechnet werden

  • --dec=<eps> Entscheidungsvariante: ist d_f <= \epsilon ?
  • --opt Optimierungsvariante
  • --app=<accuracy> Intervallschachtelung mit vorgegebener Genauigkeit

Für den Algorithmus -k geht nur --dec=<eps>. Hier wird für ein vorgegebenes \epsilon der Parameter k berechnet. Eine Optimierungsvariante für die k-Frechet ist nicht implementiert.

--cores=<p> legt die Anzahl paralleler Threads fest. Die beste Leistung erzielt man mit der Anzahl physischer CPU-Kerne. Hyperthreading auf Intel-Prozessoren bringt sehr wenig.

Beispiel auf einem Quad-Core-Prozessor: --cores=4 ist gut, --cores=8 ist möglich, erzielt aber keine spürbare Verbesserung.

--large reduziert den Speicherbedarf für sehr große Eingaben.

--gpu schaltet die GPU-Unterstützung ein. Voraussetzung ist eine Grafikkarte und ein Treiber, der OpenCL 1.2 unterstützt. Ein sinnvolle Beschleunigung erreicht man nur mit leistungsfähigen Karten. Bei großen Eingaben wird außerdem viel RAM benötigt.

--tile=<a,b> ist ein Tuning-Parameter für die GPU-Unterstützung.

Mit --help erhält man eine Übersicht über die Kommandos

Beispiele:

    Frechet-View.app/Contents/MacOS/frechet-view "Demo Data/trousers.jscript" -p --dec=45
    Frechet-View.app/Contents/MacOS/frechet-view "Demo Data/trousers.jscript" -p --opt --cores=4
    Frechet-View.app/Contents/MacOS/frechet-view "Demo Data/trousers.jscript" -c --approx=1-e6
    Frechet-View.app/Contents/MacOS/frechet-view "Demo Data/criss-cross-2.jscript" -k --dec=0.4

Updated