¿Cómo mido FLOPS o IOPS? Si mido el tiempo para la suma/multiplicación de coma flotante ordinaria, ¿es equivalente a FLOPS?Cómo medir FLOPS
Respuesta
FLOP no están bien definidos. Los mul FLOPS son diferentes a agregar FLOPS. Debe presentar su propia definición o tomar la definición de un punto de referencia conocido.
Normalmente utiliza algún punto de referencia conocido. Cosas como MIPS y megaFLOPS no significan mucho para empezar, y si no los restringe a puntos de referencia específicos, incluso ese pequeño significado se pierde.
Por lo general, por ejemplo, la velocidad entera se indicará en "drystone MIPS" y coma flotante en "Linpack megaFLOPS". En estos, "drystone" y "Linpack" son los nombres de los puntos de referencia utilizados para hacer las mediciones.
IOPS son operaciones de E/S. Son casi lo mismo, aunque en este caso, no hay tanto acuerdo sobre qué punto (s) de referencia usar (aunque SPC-1 parece bastante popular).
Puede usar los contadores de rendimiento de la CPU para que la CPU cuente el número de operaciones de punto flotante que utiliza para su programa en particular. Entonces es la simple cuestión de dividir esto por el tiempo de ejecución. En Linux las herramientas Potencia permitir que esto puede hacer muy fácilmente, tengo una valoración crítica de los detalles de esto en mi blog aquí:
¡Gracias por publicar tu respuesta! Asegúrese de leer detenidamente [Preguntas frecuentes sobre autopromoción] (http://stackoverflow.com/faq#promotion). También tenga en cuenta que * se requiere * que publique un descargo de responsabilidad cada vez que se vincula a su propio sitio/producto. –
Ésta es una pregunta muy específica de la arquitectura, para un ingenuo/básico/start start. Recomendaría averiguar cuántas operaciones de multiplicación de Operations 1 lleva a cabo en su hardware específico, luego hacer una gran multiplicación de matrices y ver cuánto tiempo lleva. A continuación, se puede estimar eaisly un flop de su hardware en particular
el estándar de la industria de fracasos de medición es el bien conocido Linpack o HPL high performance linpack, intente buscar en la fuente o en ejecución los de su auto
También me remito a esta respuesta como excelente reference
FLOPS es operaciones de coma flotante por segundo. Para medir FLOPS primero necesita un código que realice tales operaciones. Si tiene dicho código, lo que puede medir es su tiempo de ejecución. También necesita resumir o estimar (¡no medir!) Todas las operaciones de coma flotante y dividirlas en el tiempo de pared medido. Debería contar todas las operaciones ordinarias como adiciones, restas, multiplicaciones, divisiones (sí, a pesar de que son más lentas y se evitan mejor, todavía son FLOP ...). ¡Ten cuidado de cómo cuentas! Lo que ve en su código fuente probablemente no sea lo que el compilador produce después de todas las optimizaciones. Para asegurarse de que probablemente tendrá que mirar el conjunto ...
FLOPS no es lo mismo que Operaciones por segundo. Por lo tanto, aunque algunas arquitecturas tienen una sola instrucción MAD (multiplicar y agregar), esas siguen contando como dos FLOP. Del mismo modo, las instrucciones SSE. Los cuenta como una sola instrucción, aunque realizan más de un FLOP.
FLOPS no son del todo insignificantes, pero debe tener cuidado al comparar sus FLOPS a sb. Ellas FLOPS, especialmente los proveedores de hardware. P.ej. NVIDIA ofrece el rendimiento máximo de FLOPS para sus tarjetas asumiendo operaciones MAD. A menos que tu código los tenga, nunca obtendrás este rendimiento. ¡O reconsidere el algoritmo, o modifique los FLOPS de hardware de punta por un factor correcto, que necesita descubrir para su propio algoritmo! Por ejemplo, si su código solo realiza la multiplicación, lo dividiría entre 2. Contar correctamente podría hacer que su código sea deficiente a bastante eficiente sin cambiar una sola línea de código.
- 1. FLOPS núcleo de Intel y probándolo con C (producto interno)
- 2. Cálculo de FLOPS (Operaciones de coma flotante por segundos)
- 3. ¿Cómo medir la contención mutex?
- 4. C ¿cómo medir el tiempo correctamente?
- 5. ¿Cómo puedo medir puntos de distancia diagonales?
- 6. ¿Cómo medir la contención de bloqueo?
- 7. ¿Cómo medir el rendimiento de escritorio remoto?
- 8. ¿Cómo medir el rendimiento de ARM?
- 9. cómo medir el rendimiento de hibernación?
- 10. cómo medir HeartBeat usando un dispositivo Android
- 11. Temporizadores para medir la latencia
- 12. ¿Cómo puedo medir cómo se escala el código multiproceso (aceleración)?
- 13. Medir cadena dentro de RichTextBox Control
- 14. X/Gnome: cómo medir la geometría de una ventana abierta
- 15. ¿Cómo medir el rendimiento del código en .NET?
- 16. Cómo medir un lienzo que tiene altura y ancho automáticos
- 17. ¿Cómo medir el tamaño de un objeto Ruby?
- 18. ¿Cómo medir la distancia entre dos dispositivos iphone usando bluetooth?
- 19. ¿Cómo puedo medir la similitud entre dos imágenes?
- 20. ¿Cómo medir el consumo total de memoria del contenedor STL?
- 21. Cómo medir el rendimiento de la consulta en el oráculo
- 22. Usando Mercurial, ¿cómo puedo medir las contribuciones individuales?
- 23. ¿Cómo medir # de líneas de código en el proyecto?
- 24. ¿Cómo medir el tiempo pasado en una página?
- 25. ¿Cómo medir el tiempo en milisegundos usando ANSI C?
- 26. ¿Cómo medir el tiempo de kernel interno en NVIDIA CUDA?
- 27. Cómo medir FPS en Android durante el desarrollo de aplicaciones
- 28. ¿Cómo medir el consumo de VRAM en Android?
- 29. Cómo medir la calidad de un producto de software
- 30. ¿Cómo puedo medir las estadísticas del código fuente?
¿Quieres decir "IPS"? IOPS es algo bastante diferente. –