พื้นหลัง
ฉันได้ทดลองใช้ OpenCL ด้วย ภาษาการเขียนโปรแกรม C++ บนพีซีที่ใช้ Windows เพื่อเขียนโปรแกรมง่ายๆ ลงใน GPU ของพีซี กล่าวอีกนัยหนึ่งฉันใช้มันเป็น GPGPU ภายใต้การคำนวณง่ายๆ ฉันหมายความว่าฉันสร้างอาร์เรย์สองตัว โดยแต่ละอาร์เรย์มีรายการ 1 ล้านรายการ มากกว่าที่ฉันบวกส่วนที่สอดคล้องกันของทั้งสองอาร์เรย์
ถ้าฉันมี X[1000000] และ Y[1000000] ฉันจะทำ:
for(int i=0; i<1000000; i++)
{
Output[i]=X[i]+Y[i]
}
ฉันต้องการทำอะไร
ฉันต้องการทำสิ่งเดียวกันบน Xbox One S เช่นเดียวกับที่ฉันทำบนพีซี ฉันต้องการเขียนโปรแกรมสำหรับ Xbox One S ที่ปกติทำงานบน cpu (ฉันไม่ได้พยายามสร้างโปรแกรมที่จะบังคับให้ทำงานบน GPU) เมื่อทำการคำนวณเหมือนกับที่อธิบายไว้ข้างต้น มันจะโหลดลงใน GPU และ GPU จะคำนวณเพื่อเพิ่มความเร็ว
ฉันทำอะไรบน Xbox ของฉันไปแล้ว
ฉันได้สร้างแอป UWP (เข้ารหัสเป็น C++) บน Xbox ของฉันแล้ว ฉันต้องการเขียนโปรแกรม GPU ของฉันต่อโดยใช้ UWP แต่อย่างไรก็ตาม ฉันไม่พบบทช่วยสอนใด ๆ ที่อธิบายวิธีการทำเช่นนี้
ฉันคาดหวังอะไรจากคำตอบ
ฉันต้องการคำตอบที่มีคำแนะนำ/บทช่วยสอนเชื่อมโยง หรือแม้แต่คำตอบที่อธิบายวิธีการทำเช่นนี้ คำแนะนำ/บทช่วยสอน (วิธีแก้ปัญหาสำหรับโปรแกรมของฉัน) ต้องเป็น:
- เขียนด้วยภาษา C++
- ควรใช้ OpenCL แต่ไม่จำเป็น หากเป็นไปได้เท่านั้น
ฉันมีความรู้เกี่ยวกับซอฟต์แวร์ประเภทนี้อย่างไร
ฉันรู้จัก Visual Studio C++ (MSVC) เป็นอย่างดี ดังนั้นวิธีที่ดีที่สุดคือหากคำแนะนำ/บทช่วยสอนใช้ MSVC ฉันรู้เพียงเล็กน้อยเกี่ยวกับ Unity ดังนั้นฉันจะยินดีเป็นอย่างยิ่งหากคำแนะนำ/บทช่วยสอนเกี่ยวกับการเขียนสิ่งนี้ใน Unity (แต่ใน C ++ ด้วย) แต่ถ้าเป็นไปไม่ได้ เครื่องมืออื่นๆ ก็ใช้ได้ดีเช่นกัน
PS: ฉันค้นคว้าเกี่ยวกับเรื่องนี้มามาก แต่ไม่พบคำแนะนำ/บทช่วยสอนที่อธิบายเรื่องนี้ นั่นเป็นเหตุผลที่ฉันถามที่นี่เกี่ยวกับ Stack overflow ฉันค่อนข้างใหม่กับ Stack overflow ดังนั้นโปรดอย่าพูด (หากคำถามนี้เขียนได้ไม่ดี) "คำตอบนี้ไม่ตรงตามข้อกำหนดของคำตอบ