같은 소스를 같은 인코더로 cuda를 통해 인코딩하거나, cpu로 인코딩하면 서로 다른 결과물이 나오는데 어떻게 그러한지 궁금합니다.
이미지 프로세싱도 할 때 마다 다른 결과물이 나오기도 하는지요?
복잡한 3D이미지의 렌더링의 경우에도 비슷한 현상이 일어나는지 궁금합니다.
같은 소스를 같은 알고리즘, 같은 옵션, 같은 압축 방식으로 프로세싱하면 어떤 시스템에서 어느 때 시행하든
그 결과물이 디지털적으로 완전히 동일할수밖에 없는 게 아닌지요.
** waifu2x와 같은 딥러닝 기반의 이미지 프로세싱의 경우 실시간으로 그 알고리즘(백데이터)이 변화하므로
동일한 소스와 동일 옵션이라도 언제 입력하느냐에따라 달라질 수 있다는 것은 이해했습니다.
´ëºÎºÐ ¼Õ½ÇÀ» °¨¾ÈÇÏ´Â °ÍÀ̶ó
µ¿ÀÏÇÑ ÄÄÇ»ÅÍ·Î ÀÛ¾÷Çصµ
½Ã°£ ¿ÀÂ÷°¡ ¹ß»ýÇÏ´Â ÀÛ¾÷À̶ó ±×·±°Í ¾Æ´Ñ°¡¿ä?
µ¿¿µ»ó Ç÷¹À̾îµé¸¶´Ù °°Àº µ¿¿µ»ó Àç»ýÇصµ ÈÁúÀÌ ´Ù¸¥°Í°ú °°ÀÌ ÀÌÇØÇÏ½Ã¸é µÇÁö ¾ÊÀ»±î¿ä?
´õ±º´Ù³ª CUDA´Â IA32³ª AMD64 CPU¶û ¾Æ¿¹ Áö¿øµÇ´Â ¸í·É¾îµé, ¿öµåÅ©±â, ¸í·É¾î »çÀÌÁîÁ¦¾à °°Àº°Å ºÎÅÍ ´Ù¸£±â ¶§¹®¿¡, ¿Â°® ÀÎÄÚµù ¾Ë°í¸®ÁòÀÌ CPU·Î ±¸Çö °¡´ÉÇÑ ±ØÇѱîÁö ²ø¾î³¾ ¼ö ÀÖµµ·Ï ±â¼ú¼öÁØÀÌ ¿À¸¥ CPU ±â¹Ý encoder ÈÁúÀ̶û °°¾ÆÁö±â Èûµì´Ï´Ù. CUDA´Â °í±Þ¹éÅÍ ¸í·É¾îµµ ¾ø½À´Ï´Ù. ´ë½Å ¾ÐµµÀûÀÎ ÄÚ¾î¼ö·Î 󸮼ӵµ¿¡¼ CPU¸¦ ¾Ð»ìÇÏÁö¿ä.
ÇöÀç ³ª¿Â ´ëÁßÀûÀÎ co-processorµé Áß IA32±â¹Ý CPUµéÀ̶û °ÅÀÇ ´ëµîÇÑ ÀÎÄÚµù ±â¼úÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Â°Ç Á¦¿ÂÆÄÀÌ°¡ À¯ÀÏÇÒµí ÇÕ´Ï´Ù. (»ç½Ç Á¦¿ÂÆÄÀÌ´Â IA32ÄÚ¾î ¿©·¯°³ ºÙÀΰŶó¼....)
±×³É ¾Ë±â½±°Ô Ç¥ÇöÇϸé ÇÑÂÊÀº 13ÄÂ¥¸® »ç¹«¿ë °è»ê±â ¼ö¹é ¼öõ°³·Î ¹º°¡¸¦ Çغ¸·Á´Â°Å°í, ´Ù¸¥ÂÊÀº °øÇаè»ê±â2~24°³ Â¥¸®·Î ¹º°¡¸¦ Çغ¸·Á´Â°Ì´Ï´Ù.
°°Àº ¹®Á¦¸¦ Ǫ´Â°Å¶óµµ Ǫ´Â ¹æ¹ýºÎÅÍ, Ç®ÀÌ ¼Óµµ, °á°úÀÇ Á¤È®µµ±îÁö ´Þ¶óÁú ¼ö ¹Û¿¡ ¾øÁÒ.
CPU = °î¼± ¹°º´¿¡ ´ã±ä ¹°ÀÇ ¿Ü°û¼±À» ¹ÌÀûºÐ °ø½ÄÀ¸·Î Ç®¾î¶ó
ÀÚ·Î 1mm ´ÜÀ§·Î Àß¶ó¼ ±×¸®´Â°Å¶û
¹ÌÀûºÐ °ø½ÄÀ¸·Î µû³»¼ ã¾Æ³»´Â °Å¶û ¼±À» È®´ëÇϸé ÀüÀÚ´Â °è´Ü½Ä ÈÄÀÚ´Â ¼±Çü
3D ·»´õ¿¡¼µµ °í±Þ ¿É¼ÇµéÀº GPU ¸ðµå¿¡¼´Â ¾ÈµË´Ï´Ù.
±×·¯³ª µ¿ÀÏÇÑ Á¶°ÇÀÌ ¾Æ´Ò°æ¿ì (¿¹¸¦ µé¾î cuda ¿Í cpu) ¿¡´Â ´Þ¶óÁú ¼ö ÀÖ½À´Ï´Ù.
±×°ÍÀº °¢ Á¶°Ç¸¶´Ù ÃÖ»óÀÇ ÆÛÆ÷¸Õ½º¸¦ ³¾ ¼ö ÀÖ´Â ÃÖÀûÈ °úÁ¤ÀÌ µé¾î°¡´Âµ¥ Á¶°Ç¿¡ µû¶ó ÃÖÀûÈ ¹æ¹ýÀÌ ´Ù¸£±â ¶§¹®ÀÔ´Ï´Ù. (double ¿¬»êÀ» ÇÒ°ÇÁö float ¿¬»êÀ» ÇÒ°ÇÁö, Á¤¼ö¿¬»êÀ» ÇÒ°ÇÁö, Á¤¼ö¿¬»êÀ» ÇÏ´õ¶óµµ ¸îºñÆ®¸¦ ÇÒ´çÇÏ¿© Á¤¹Ðµµ¸¦ ÁÙ°ÇÁö)
±×¸®°í ÃÖÀûÈ´Â ÃÖ»óÀÇ ÆÛÆ÷¸Õ½º¸¦ ³¾ ¼ö ÀÖµµ·Ï ¾à°£ÀÇ ´«¼ÓÀÓÀ» Çϱ⵵ ÇÕ´Ï´Ù.