[voikko] voikkospell, voikkotest ja moniydinprosessorit

Harri Pitkänen hatapitk at iki.fi
Fri Apr 9 23:06:56 EEST 2010


Muutaman viikon ajan libvoikon SVN-versio on tukenut useiden samanaikaisten 
säikeiden käyttöä. Nyt myös voikkospell-komentoon on lisätty optio -j, jonka 
avulla oikoluvussa voi käyttää useaa säiettä. Toiminnosta on hyötyä lähinnä 
Voikon testauksessa pitkillä sanalistoilla, jos käytettävissä on enemmän kuin 
yksi prosessoriydin.

Myös voikkotest-skripti osaa nyt hyödyntää tätä ominaisuutta, jos se on otettu 
käyttöön asetustiedostossa voikko_dev_prefs.py. Eli lisäämällä tuohon 
tiedostoon rivin
  voikkospell_threads=2
komentojen "voikkotest --current" ja "voikkotest --base" yhteydessä 
suoritettava pitkän sanalistan oikoluku tehdään annetulla määrällä säikeitä. 
Käytännössä voikkospell kykenee hyödyntämään käytettävissä olevat 
prosessoriytimet optimaalisesti, sillä ainakin minulla oikoluvun nopeus 
todella kaksinkertaistui kahta säiettä käyttämällä.

Optiota -j 2 ei kannata käyttää silloin, jos halutaan oikolukea sanoja yksi 
kerrallaan, koska oikoluku tapahtuu viivästetysti 500 sanan lohkoissa. Eli 
optio ei myöskään sovellu käytettäväksi minkään interaktiivisen skriptin 
osana. Sitä kannattaa käytännössä käyttää vain oikoluettaessa vähintään parin 
tuhannen sanan listoja massa-ajona.

Optio toimii myös korjausehdotuksia ja morfologisia analyysejä generoitaessa 
sekä vaihtoehtoisten taustatoteutusten (HFST) kanssa.

Muut apuohjelmat (voikkohyphenate ja voikkogc) eivät vastaavaa optiota vielä 
tue, enkä ole ajatellut sitä niihin lisätäkään. Mitään estettä saman 
ominaisuuden lisäämiseksi noihinkin ohjelmiin ei ole, joten jos joku haluaa 
hiukan järjestellä uudelleen apuohjelmien koodia, niin toteutus otetaan kyllä 
mielellään vastaan.

Harri



More information about the voikko mailing list