GZIP es una biblioteca de compresión de datos de código abierto que proporciona una alta relación de compresión.
Aplica dos niveles de compresión:
- Nivel de bytes (esquema de compresión basado en Limpel Ziev LZ)
- Nivel de bits (entropía de Huffman)
Por lo general, las soluciones basadas en CPU se limitan a la velocidad de MB/s, pero hay una alta demanda de GZIP acelerado que proporciona rendimiento en términos de GB/s. Esta aplicación proporciona tanto compresión como descompresión GZIP y ZLIB con la plataforma Alveo U50.
Proveedor: AMD
Plataforma: En las instalaciones
Tamaño: 1,14 GB
Versión del contenedor: gzip-u50-2020.1-v1.0
Este producto se puede implementar de forma gratuita desde AMD
Rendimiento
Los números de rendimiento a continuación se prueban mediante el conjunto de archivos silesia. (http://sun.aei.polsl.pl/~sdeor/index.php?page=silesia )
La velocidad general a continuación se calcula mediante la lista de archivos múltiples en varios núcleos.
|
Velocidad/archivo |
Núcleos en total |
Velocidad general |
Comprimir |
688,5 MB/s |
8 |
5,3 GB/s |
Descomprimir |
678,4 MB/s |
7 |
4,7 GB/s |
Opciones de implementación
Esta aplicación está en contenedores y se puede ejecutar fácilmente en pocos minutos en la nube o en las instalaciones.
En las instalaciones |
|
Alveo U50 |
|
Introducción
Sigue las instrucciones basadas en tu método de implementación.
1. Configuración del host
La aplicación host Xilinx Runtime (XRT) es compatible con Ubuntu 16.04/18.04 y CentOS 7.x. con sudo access, utiliza el siguiente comando para descargar y ejecutar el script de instalación:
1.1 Repositorio Clone GitHub para Xilinx Base Runtime
git clone https://github.com/Xilinx/Xilinx_Base_Runtime.git
cd Xilinx_Base_Runtime
1.2 Ejecuta el script de instalación del host
./host_setup.sh -v 2020.1
Nota:
- Espera a que se complete la instalación. Durante este tiempo, es posible que necesites presionar [Y] para continuar con la configuración del host.
- Si eliges apresurar la FPGA, tendrás que reiniciar en frío la máquina local después de completar la instalación para cargar la nueva imagen en la FPGA.
- El script para la configuración del host se puede utilizar con el fin de configurar otras versiones de XRT y shell. Consulta https://github.com/Xilinx/Xilinx_Base_Runtime para obtener más detalles.
2. Instalar Docker (si todavía no está instalado)
Con sudo access, utiliza el siguiente comando para ejecutar el script de utilidad con el fin de instalar Docker.
2.1 Ve al directorio de utilidades Xilinx_Base_Runtime
cd Xilinx_Base_Runtime/utilities
2.2 Ejecuta el script de instalación de Docker
./docker_install.sh
3. Ejecución de aplicaciones
Ingresa los siguientes comandos en una ventana de terminal para ejecutar la aplicación:
3.1 Configuración de variables de entorno por script desde Xilinx_Base_Runtime
source Xilinx_Base_Runtime/utilities/xilinx_docker_setup.sh
3.2 Tirar de la imagen Docker
docker pull xilinx/data_compression:gzip-u50-2020.1-v1.0
3.3 Ejecutar la imagen Docker
docker run $XILINX_DOCKER_DEVICES -it xilinx/data_compression:gzip-u50-2020.1-v1.0
Descripción de los argumentos del comando:
$XILINX_DOCKER_DEVICES
: las variables están establecidas por el script de configuración del host
3.4 Ejecutar GZIP
xgzip -c <input_file>
xgzip -d <compressed_file>
comandos de muestra:
[Para compresión]
[Para descompresión]
wget http://sun.aei.polsl.pl/~sdeor/corpus/nci.bz2
xgzip -c nci.bz2
Para la compresión
xgzip -d nci.bz2.gz
Para la descompresión
xgzip -t nci.bz2
Probar o validar un archivo
4. Resultados
Una vez que se realiza la compresión o descompresión, el archivo de salida se generará en la misma ruta de carpeta y será igual que la carpeta de ruta de entrada.
- Archivo comprimido con GZIP, el formato de archivo de salida será:
<file_name>.gz
- Archivo comprimido con ZLIB, el formato de archivo de salida será:
<file_name>.xz
- La extensión del archivo después de la descompresión será:
<compress_file>.raw