ການເປີດໃຊ້ OpenCL ໃນ darktable
ການໃຊ້ OpenCL ໃນ darktable ແມ່ນຕ້ອງການໃຫ້ຄອມພິວເຕີຂອງທ່ານຕິດຕັ້ງກາດຈໍທີ່ເໝາະສົມ ແລະ ມີໄລບຣາຣີທີ່ຈໍາເປັນຄົບຖ້ວນ. ກາດຈໍທີ່ທັນສະໄໝສ່ວນໃຫຍ່ຈາກ NVIDIA, Intel ຫຼື AMD ແມ່ນມາພ້ອມກັບການສະໜັບສະໜູນ OpenCL ຢ່າງເຕັມທີ່. ປົກກະຕິແລ້ວ ຕົວແປງຄຳສັ່ງ (compiler) ຂອງ OpenCL ຈະຖືກສົ່ງມານຳເປັນສ່ວນໜຶ່ງຂອງໄດເວີກາດຈໍທີ່ເປັນກຳມະສິດ ແລະ ຖືກໃຊ້ເປັນໄລບຣາຣີໄດນາມິກທີ່ຊື່ວ່າ libOpenCL.so. ໄລບຣາຣີນີ້ຕ້ອງຢູ່ໃນໂຟນເດີທີ່ໄດນາມິກລິ້ງເກີ (dynamic linker) ຂອງລະບົບທ່ານສາມາດຊອກຫາໄດ້.
ເມື່ອ darktable ເລີ່ມຕົ້ນ, ມັນຈະພະຍາຍາມຊອກຫາ ແລະ ໂຫຼດ libOpenCL.so ກ່ອນ ແລະ – ຖ້າສຳເລັດ – ມັນຈະກວດສອບວ່າກາດຈໍທີ່ມີຢູ່ນັ້ນຮອງຮັບ OpenCL ຫຼືບໍ່. darktable ຕ້ອງການໜ່ວຍຄວາມຈຳກາດຈໍ (GPU) ຢ່າງໜ້ອຍ (1GB+) ເພື່ອໃຫ້ໄດ້ປະໂຫຍດຈາກ GPU. ຖ້າການກວດສອບນັ້ນຜ່ານ, darktable ຈະພະຍາຍາມຕັ້ງຄ່າສະພາບແວດລ້ອມ OpenCL ຂອງມັນ: ຕ້ອງມີການເລີ່ມຕົ້ນສະພາບການປະມວນຜົນ, ເລີ່ມທໍ່ການຄຳນວນ, ໄຟລ໌ລະຫັດຕົ້ນສະບັບ OpenCL (ນາມສະກຸນ .cl) ຕ້ອງໄດ້ຮັບການອ່ານ ແລະ ແປງຄຳສັ່ງ, ແລະ ກິດຈະວັດຕ່າງໆທີ່ລວມຢູ່ນັ້ນ (OpenCL kernels) ຕ້ອງໄດ້ຮັບການຈັດຕຽມສຳລັບໂມດູນຂອງ darktable. ຖ້າຂັ້ນຕອນທັງໝົດເຫຼົ່ານີ້ສຳເລັດ, ການຈັດຕຽມກໍຖືວ່າສຳເລັດ.
ໂດຍເລີ່ມຕົ້ນ, ການຮອງຮັບ OpenCL ຈະຖືກເປີດໃຊ້ໃນ darktable ຖ້າທຸກຂັ້ນຕອນຂ້າງເທິງສຳເລັດ. ຖ້າທ່ານຕ້ອງການປິດການໃຊ້ງານ ທ່ານສາມາດເຮັດໄດ້ໃນ ການຕັ້ງຄ່າ > ການປະມວນຜົນ > OpenCL. ພານາມິເຕີການກຳນົດຄ່ານີ້ຈະເປັນສີເທົາ (ກົດບໍ່ໄດ້) ຖ້າການເລີ່ມຕົ້ນ OpenCL ລົ້ມເຫຼວ.
ທ່ານສາມາດປິດ ແລະ ເປີດການຮອງຮັບ OpenCL ໄດ້ທຸກເວລາໂດຍບໍ່ຕ້ອງເລີ່ມຕົ້ນລະບົບໃໝ່. ຂຶ້ນຢູ່ກັບປະເພດຂອງໂມດູນທີ່ທ່ານກຳລັງໃຊ້, ທ່ານຈະສັງເກດເຫັນຜົນເປັນການເລັ່ງຄວາມໄວໂດຍທົ່ວໄປໃນລະຫວ່າງການເຮັດວຽກແບບໂຕ້ຕອບ ແລະ ການສົ່ງອອກ. ໂມດູນສ່ວນໃຫຍ່ໃນ darktable ສາມາດໃຊ້ປະໂຫຍດຈາກ OpenCL ໄດ້ ແຕ່ບໍ່ແມ່ນທຸກໂມດູນຈະຕ້ອງການພະລັງງານຫຼາຍພໍທີ່ຈະເຮັດໃຫ້ເຫັນຄວາມແຕກຕ່າງໄດ້ຢ່າງຊັດເຈນ. ເພື່ອໃຫ້ຮູ້ສຶກເຖິງຄວາມແຕກຕ່າງຢ່າງແທ້ຈິງ, ໃຫ້ໃຊ້ໂມດູນເຊັ່ນ ກະຈາຍ ຫຼື ເຮັດໃຫ້ຄົມຊັດ (diffuse or sharpen), ແລະ ລຸດສິ່ງລົບກວນ (ຕາມໂປຣໄຟລ໌).
ຖ້າທ່ານສົນໃຈສະຖິຕິການປະມວນຜົນ, ທ່ານສາມາດເລີ່ມ darktable ດ້ວຍພານາມິເຕີໃນຄຳສັ່ງ -d opencl -d perf. ຫຼັງຈາກການລັນທໍ່ປະມວນຜົນພິກເຊລແຕ່ລະຄັ້ງ, ທ່ານຈະເຫັນລາຍລະອຽດຂອງເວລາປະມວນຜົນສຳລັບແຕ່ລະໂມດູນ ບວກກັບລາຍລະອຽດທີ່ລະອຽດກວ່ານັ້ນສຳລັບ OpenCL kernels ທັງໝົດທີ່ໃຊ້.
ນອກຈາກຄວາມໄວທີ່ເພີ່ມຂຶ້ນແລ້ວ ທ່ານບໍ່ຄວນເຫັນຄວາມແຕກຕ່າງໃດໆໃນຜົນລັບລະຫວ່າງການປະມວນຜົນດ້ວຍ CPU ແລະ GPU. ຍົກເວັ້ນຂໍ້ຜິດພາດບາງຢ່າງຈາກການປັດເສດຕົວເລກ, ຜົນລັບຖືກອອກແບບມາໃຫ້ຄືກັນ. ຖ້າດ້ວຍເຫດຜົນໃດໜຶ່ງ darktable ບໍ່ສາມາດສຳເລັດການຄຳນວນໃນ GPU ໄດ້ຢ່າງຖືກຕ້ອງ, ປົກກະຕິແລ້ວມັນຈະກວດພົບຄວາມລົ້ມເຫຼວນັ້ນ ແລະ ຈະກັບໄປໃຊ້ການປະມວນຜົນດ້ວຍ CPU ໂດຍອັດຕະໂນມັດ (ແລະ ໂປ່ງໃສ).