- ถ้ามองในมุมนักพัฒนา เราคงเอา OpenCL กับ CUDA มาชนกันตรงๆไม่ได้ เพราะมันคือ ของฟรี ชนกับ ของเสียสะตัง ทางฝั่ง CUDA เองเขามีรากฐานนักพัฒนาที่นิยมCUDAเป็นทุนเดิมอยู่แล้ว และถ้าสังเกตุการตลาดของ CUDA เน้นไปทางโซลูชันใหญ่ๆ มากกว่าแอพพิเคชันเดียวๆเล็ก
- แต่ทุกท่านจงหยุดก่อน... เอา.! เราลองยกตัวอย่างโปรแกรมที่ใช้ประโยชน์จาก Cuda หรือ OpenCL มาให้ฟังสัก 1 อันซิ (อย่าตอบว่าเกมนะ) นึกออกกันไม๊.? ผมยกตัวอย่างให้1อันคือ Cyberlink PowerDirector... ส่วนถ้าใครจะตอบว่า Photoshop CS4 หรืออื่นในสาย CS4 ถ้าตอบแบบนี้คือ "ผิด" เพราะ Photoshop ใช้ OpenGL มาช่วยเร่งการประมวลผล (แต่ไม่ได้ไช้ OpenCL, CUDA หรืออื่นๆ) ซึ่งการ์ดจอใบไหนที่เร่งOpenGLเก่งๆก็จะเหมาะ แต่สำหรับPlug-inที่ใช่ร่วมกับ CS4 ต่างหากล่ะ ผู้ผลิตplug-inบ่างรายก็เลือกคุณสมบัติของCUDA, บางรายก็เลือกOpenCL ฉะนั้นโปรแกรมอย่าง Photoshop หรือ Premiere พวกมันได้ไช้งาน CUDA หรือ OpenCL โดยอ้อมต่างหากครับ... คือถ้าคิดกันดีๆแล้ว เราไม่เห็นโปรแกรมพื้นๆตัวใหนใช้คุณสมบัตพวกนี้เลยนะ.. ดูที่ฝั่งเครื่อง PC (ที่ใช้ Windows และ Linux) แม้แต่ตัวOSเอง ยั่งไม่ได้ใช้ประโยชน์จาก OpenCL หรือ CUDA นำมาประมวลผลในงานทั่วไปของOSเลย
- ซึ่งต่างจากฝั่งเครื่องแมค ระบบปฎิบัติการรุ่นใหม่ MAC OS X เวอรชัน 10.5 Leopard, 10.6 Snow Leopard พวกมันรีเควส OpenCL ในการทำงานระดับ OS แล้วนะครับ (เครื่องแมคเก่าที่ไม่รองรับOpenCL ลงSnow Leopardมีเซ็งกันง่ะ) ถ้ามองในมุมนี้ MacOSX ดูก้าวหน้ากว่า Windows 7
อันนี้มองในมุมเครื่องแมคไช่ไม๊ครับ...
เครื่องแมคมันแตกต่างจาก PC นะครับ เพราะมันมี Hardware จำกัดกว่า มองบางมุมดูเหมือนว่า Apple เองเป็นคนจัดชุดมาให้เราล่วงหน้าแล้ว โดยมันขึ้นอยู่กับราคา รุ่นถูกรุ่นแพงมันก็มีการ์ดจอต่างกัน อย่างเครื่อง Mac Pro เองมันก็มีทั้ง nVidia และ AMD ATI บังเอิญว่าแมคโปรรุ่นแพงมันติดการ์ดจอ HD4870 มาก็เท่านั้น เราจะอุปมาได้ไม๊ว่า? Apple เลือกแล้วว่า HD4870 เหมาะที่สุดแล้ว(เลยไม่มอง GTX285)
แต่ถ้ามองในมุม PC ที่ใช้ Windows...
มันก็แน่ๆล่ะครับ AMD ATI เก่ง OpenCL มากกว่าแน่นอน เพราะลักษณะการืดจอ GPU ที่มีท่อเยอะกว่า ดูง่ายๆการ์ดจอ ATI มีผลคำนวณ GFLOPS ดีกว่าการ์ดจอ nVIDIA (ยิ่งเทียบรุ่นเทียบราคาแล้ว ATI นำหน้าGFLOPSเยอะเลย) ฉะนั้นถ้าเราเขียนโปรแกรมด้วย OpenCL โปรแกรมเดียวกัน ก็ย่อมคำนวณบนการ์ด ATI ได้ดีกว่าครับ...(แต่อย่าลืมนะ ATI คำนวณ CUDA ไม่ได้เลย)
จริงๆแล้ว AMD ATI เขายังมีของเล่นจุกจิกอีกหลายตัว จริงอยู่โปรแกรมทั่วไปอาจไม่ได้ใช้ OpenCL แต่ ATI ยังมี AVIVO ซึ่งตัวมันก็ประมวลอยู่บนส่วนUnified Shadersบนการ์ดจอนั้นล่ะ(แต่เขาเรียกใหม่ว่า UVD - Unified Video Decoder) ฉะนั้นถึงไม่ไช้ OpenCL โปรแกรมพวกดูหนังฟังเพลงก็ยังสามารถเข้าถึงการ์ดจอผ่านทาง AVIVO ได้เช่นกัน และเหมือนเดิม AVIVO นั้นฟรี แต่ PureVDO ของ nVIDIA นั้นไม่ค่อยจะฟรีนัก
Comment