Proprio ieri mi sono chiesto se la mia GPU nVidia potesse partecipare al processo di compressione e decompressione e con una breve ricerca su internet ho scoperto bsc, block sorting compressor, che può comprimere anche con l'aiuto dei CUDA core della GPU nVidia. Dal sito del progetto ho scaricato un piccolo archivio ed ho fatto qualche test con risultati veramente molto soddisfacenti se paragonati a quelli di 7-Zip. Ora che ho imparato un po' ad usarlo ho un paio di domande e dato che non ho trovato un forum dedicato ad esso chiedo qui nella speranza che qualcuno sappia rispondermi.
Innanzitutto, si tratta di un programma da lanciare tramite Prompt dei comandi di Windows perché privo di GUI e questo è piuttosto scomodo perché ho l'impressione che se volessi comprimere più file in una volta sola non potrei farlo, dovrei invece ripetere lo stesso passaggio una volta per ogni file. Qualcuno nel forum conosce il programma e sa dirmi se davvero non è possibile comprimere più file alla volta, od ancor meglio una cartella intera, in un archivio come fa 7-Zip? Sotto riporto le poche informazioni che il programma stesso fornisce all'avvio, dalle quali a parer mio non si evince questa possibilità ma magari non le ho ben interpretate e qualcuno più esperto leggendole saprà indicarmi come fare, se possibile farlo.
Non ho ben capito se bisogna scaricare qualche altro software per far funzionare al meglio il tutto. Nel sito summenzionato parla della libreria libbsc ad esempio. Finora ho utilizzato solo quel che ho scaricato dal sito e non ho ricevuto messaggi di errore del tipo file mancante o cose simili, quindi suppongo che tale libreria sia inclusa nel download, ma non sono sicuro.
Le migliori combinazioni di opzioni per comprimere con CPU+GPU e sola CPU che ho trovato facendo un po' di prove sono rispettivamente:
So che i valori dei parametri sono influenzati dal proprio hardware, quel che vorrei sapere è se due o più opzioni che ho inserito assieme confliggono e se alcune opzioni che invece non ho inserito avrebbero giovato.
Non essendo molto ferrato in materia ho ottenuto queste combinazioni facendo alcune prove e non ho testato tutte le combinazioni possibili perché sarebbero davvero troppe. Qualcuno sa dirmi se non è molto sensata la combinazione di opzioni che ho scelto? Con essa sono riuscito a ridurre la dimensione di un file MOV da 900+ MB ad un terzo impiegando una trentina abbondante di secondi mentre 7-Zip questi risultati se li sogna quindi è già un grande passo avanti ma magari si può fare meglio.
In particolare, come andrebbero combinate le opzioni (il programma stesso indica questa possibilità)?
Per decomprimere un file bisogna utilizzare lo stesso comando usato per la compressione ma col parametro d al posto di e? O le opzioni presenti nel comando per la compressione sono superflue per quello per la decompressione? Io ho decompresso semplicemente sostituendo d ad e ma ho visto che la GPU non lavora anche se durante la compressione lavorava. Qualcuno sa come funziona di preciso?
Innanzitutto, si tratta di un programma da lanciare tramite Prompt dei comandi di Windows perché privo di GUI e questo è piuttosto scomodo perché ho l'impressione che se volessi comprimere più file in una volta sola non potrei farlo, dovrei invece ripetere lo stesso passaggio una volta per ogni file. Qualcuno nel forum conosce il programma e sa dirmi se davvero non è possibile comprimere più file alla volta, od ancor meglio una cartella intera, in un archivio come fa 7-Zip? Sotto riporto le poche informazioni che il programma stesso fornisce all'avvio, dalle quali a parer mio non si evince questa possibilità ma magari non le ho ben interpretate e qualcuno più esperto leggendole saprà indicarmi come fare, se possibile farlo.
Non ho ben capito se bisogna scaricare qualche altro software per far funzionare al meglio il tutto. Nel sito summenzionato parla della libreria libbsc ad esempio. Finora ho utilizzato solo quel che ho scaricato dal sito e non ho ricevuto messaggi di errore del tipo file mancante o cose simili, quindi suppongo che tale libreria sia inclusa nel download, ma non sono sicuro.
Le migliori combinazioni di opzioni per comprimere con CPU+GPU e sola CPU che ho trovato facendo un po' di prove sono rispettivamente:
Codice:
C:\Users\Curious\Documents\"bsc (libbsc)"\"Nuova cartella"\bsc.exe e C:\Users\Curious\Desktop\a.mov C:\Users\Curious\Desktop\b.bsc -b79 -m8 -e2 -l -G
C:\Users\Curious\Documents\"bsc (libbsc)"\"Nuova cartella"\bsc.exe e C:\Users\Curious\Desktop\a.mov C:\Users\Curious\Desktop\b.bsc -b1020 -m0 -e2 -l -H17
Non essendo molto ferrato in materia ho ottenuto queste combinazioni facendo alcune prove e non ho testato tutte le combinazioni possibili perché sarebbero davvero troppe. Qualcuno sa dirmi se non è molto sensata la combinazione di opzioni che ho scelto? Con essa sono riuscito a ridurre la dimensione di un file MOV da 900+ MB ad un terzo impiegando una trentina abbondante di secondi mentre 7-Zip questi risultati se li sogna quindi è già un grande passo avanti ma magari si può fare meglio.
In particolare, come andrebbero combinate le opzioni (il programma stesso indica questa possibilità)?
Per decomprimere un file bisogna utilizzare lo stesso comando usato per la compressione ma col parametro d al posto di e? O le opzioni presenti nel comando per la compressione sono superflue per quello per la decompressione? Io ho decompresso semplicemente sostituendo d ad e ma ho visto che la GPU non lavora anche se durante la compressione lavorava. Qualcuno sa come funziona di preciso?
Microsoft Windows [Versione 6.3.9600]
(c) 2013 Microsoft Corporation. Tutti i diritti riservati.
C:\Users\Curious>C:\Users\Curious\Documents"bsc (libbsc)""Nuova cartella"\bsc.exe
This is bsc, Block Sorting Compressor. Version 3.1.0. 8 July 2012.
Copyright (c) 2009-2012 Ilya Grebnov <Ilya.Grebnov@gmail.com>.
Usage: bsc <e|d> inputfile outputfile <options>
Block sorting options:
-b<size> Block size in megabytes, default: -b25
minimum: -b1, maximum: -b1024
-m<algo> Block sorting algorithm, default: -m0
-m0 Burrows Wheeler Transform (default)
-m3..8 Sort Transform of order n
-c<ctx> Contexts for sorting, default: -cf
-cf Following contexts (default)
-cp Preceding contexts
-ca Autodetect (experimental)
-e<algo> Entropy encoding algorithm, default: -e1
-e1 Static Quantized Local Frequency Coding (default)
-e2 Adaptive Quantized Local Frequency Coding (best compression)
Preprocessing options:
-p Disable all preprocessing techniques
-s Enable segmentation (adaptive block size), default: disable
-r Enable structured data reordering, default: disable
-l Enable Lempel-Ziv preprocessing, default: enable
-H<size> LZP dictionary size in bits, default: -H16
minimum: -H10, maximum: -H28
-M<size> LZP minimum match length, default: -M128
minimum: -M4, maximum: -M255
Platform specific options:
-G Enable Sort Transform acceleration on NVIDIA GPU, default: disable
-P Enable large 2MB RAM pages, default: disable
-t Disable parallel blocks processing, default: enable
-T Disable multi-core systems support, default: enable
Options may be combined into one, like -b128p -m5e1
Ultima modifica: