- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi,
I wrote a small MD5 test program as below:
-----------------------------
#include
#define BUFSIZE 1024*16
static unsigned char buf[BUFSIZE];
int main(int argc, char **argv)
{
IppsMD5State ctx;
unsigned char digest[MD5_DIGEST_LENGTH];
int data_size = 16*1024;
int i, num_iterations = 1000000;
if (argc > 1) {
data_size = atoi(argv[1]);
num_iterations = atoi(argv[2]);
}
ippsMD5Init(&ctx);
for (i = 0; i < num_iterations; i++) {
ippsMD5Update(buf, data_size, &ctx);
}
ippsMD5Final(digest, &ctx);
}
-------------------------------
However, when I compiled it, I got the error below:
# make
gcc -I/opt/intel/ipp/5.1/em64t/include md5test.c
md5test.c: In function `main':
md5test.c:10: error: storage size of 'ctx' isn't known
make: *** [md5_speed_test] Error 1
I searched all the header files under /opt/intel/ipp/5.1/em64t/include,
and I saw ippcp.h has:
typedef struct _cpMD5 IppsMD5State;
but 'struct _cpMD5' is not defined anywhere. Did I miss something?
Thanks,
Chi-Chang Lin
Enlace copiado
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi,
This is a reply to myself :-)
After reading the doc more carefully, I found that I need to use
ippsMD5GetSize(&ctx_size)
to get the context size and malloc one.
thanks,
Chi-Chang Lin
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Chi-Chang
yes, sometimes documentation can help:)
Please let us know your feeling regarding IPP functionality and performance. What do you find useful, what do you think is missed? What you want to be improved?
Regards,
Vladimir
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Vladimir,
I compared the MD5 in IPP with that in OpenSSL 0.9.8e, and I found that OpenSSL 0.9.8e has 3% advantage on a Woodcrest box. The OpenSSL MD5 implementation was from
http://etud.epita.fr/~bevand_m/papers/md5-amd64.html
Do you have more insight on this?
thanks,
Chi-Chang
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi Chi-Chang,
What version of IPP do you use? How do you link IPP into your application, statically or dynamically? What was operation system and hardware platform you run test on? Do you get stable results? Usually, when you measure performance, results can fluctuate a bit, especially in multitasking environment, so accuracy of measurement is important.
Regards,
Vladimir
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
I used IPP 5.1
The test program was linked dynamically as this:
gcc -I/opt/intel/ipp/5.1/em64t/include md5_test.c -o md5_test -L/opt/intel/ipp/5.1/em64t/sharedlib -l ippcpem64t -l ippcoreem64t -l guide -l pthread
The OS was RHEL with kernel 2.6.18. Hw platform was Dell PowerEdge 2950 with Woodcrest core.
This was a single-tjhreaded test program (as in my first post; differnt APIs were used for OpenSSL and for IPP). Results were stable and consistent.
thanks,
Chi-Chang
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hello Chi-Chang,
our experts were able to reproduce the issue, we working on it, thanks for reporting.
Regards,
Vladimir

- Suscribirse a un feed RSS
- Marcar tema como nuevo
- Marcar tema como leído
- Flotar este Tema para el usuario actual
- Favorito
- Suscribir
- Página de impresión sencilla