ইন্টিলে ক্লিপ খুলুন


9

ইন্টেল এইচডি 4000 জিপিইউ ইউনিট থাকা ইন্টেল আই 5 প্রসেসরের ওপেন ক্লাব কোডগুলি কীভাবে সংকলন করতে এবং চালানো যায় ??? ওপেন ক্লিপটি / অপ্ট / ইন্টেল / ওপেনক্লিল এবং সংস্করণে উবুন্টু 12.04 এ বাদ দেওয়া হয়েছে। যেকোনও সাহায্য অনেক সাহায্য করবে ... ধন্যবাদ


কোন সমস্যার মুখোমুখি হচ্ছেন?
টমাস

সুতরাং এই এমুলেটরটি ইন্টেলের জন্য কাজ করে ....
পীযূষ কুমার

@ থমাস, যখন আমি ফাইলটি চালাচ্ছি, এটির কোনও ফাইল বা লাইব্রেরি খুঁজে পাওয়া যায় না ... ত্রুটি বলে যে এই জাতীয় কোনও ফাইল বা ডিরেক্টরি সিএল / ক্লিচ। h পাওয়া যায় নি। কার্নেলবিল্ডার নামে একটি ফাইল রয়েছে, আমি যখন এটি সম্পাদন করার চেষ্টা করছি তখন একটি প্রম্পট আসে কিন্তু এটি থামিয়ে বলে যে জিসিওএনএফ সতর্কতা, ক্লায়েন্ট ডি বাস ডিমন সাথে সংযোগ করতে ব্যর্থ হয়েছিল এবং কোনও উত্তর পেল না ....
পীযূষ কুমার

@ পীযূষকুমার sudo apt-get install opencl-headersসম্ভবত এর পরে এটিটি খুঁজে পাওয়া উচিত libOpenCL.so, তবে ইন্টেল গ্রন্থাগারটি নিবন্ধকরণ করতে ব্যর্থ হয়েছে এবং লিঙ্কিংয়ের ত্রুটি ঘটায় এর সাথে আমার অতীতে বড় সমস্যা ছিল।
থমাস

@ থমাস, এটি চেষ্টা করবে ... অনুমান করুন আমি আপনার অভিজ্ঞতাগুলি ব্যবহার করতে পারতাম
পিয়ুষ কুমার

উত্তর:


10

প্রথম:
sudo apt-get install beignet opencl-headers

আপনার লাইব্রেরি অনুসন্ধানের পথে বাইনগেট ফোল্ডার যুক্ত করুন:

sudo su
echo "/usr/lib/beignet/" > /etc/ld.so.conf.d/beignet.conf
ldconfig
exit

একটি সাধারণ পরীক্ষা বাইনারি পান:

git clone https://github.com/vpereira/CapsBasic-beignet

আরও দেখতে দেখতে মেকফিলটি সম্পাদনা করুন:

all: capsbasic

capsbasic: capsbasic.cpp Makefile
    g++ capsbasic.cpp -lcl -ocapsbasic -I/usr/include -L/usr/lib/beignet

clean:
    rm -f capsbasic

এই নাও. ভিডিও কার্ডের ইন্টেল এইচডি পরিবারের জন্য ওপেনসিএল ওয়ার্কিং-ইশ ...

lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

./capsbasic

Number of available platforms: 1
Platform names:
    [0] Experiment Intel Gen OCL Driver [Selected]
Number of devices available for each type:
    CL_DEVICE_TYPE_CPU: 0
    CL_DEVICE_TYPE_GPU: 1
    CL_DEVICE_TYPE_ACCELERATOR: 0

*** Detailed information for each device ***

CL_DEVICE_TYPE_GPU[0]
    CL_DEVICE_NAME: Intel HD Graphics Family
    CL_DEVICE_AVAILABLE: 1
    CL_DEVICE_VENDOR: Intel
    CL_DEVICE_PROFILE: FULL_PROFILE
    CL_DEVICE_VERSION: OpenCL 1.1
    CL_DRIVER_VERSION: 0.2
    CL_DEVICE_OPENCL_C_VERSION: OpenCL C 1.1
    CL_DEVICE_MAX_COMPUTE_UNITS: 128
    CL_DEVICE_MAX_CLOCK_FREQUENCY: 1000
    CL_DEVICE_MAX_WORK_GROUP_SIZE: 512
    CL_DEVICE_ADDRESS_BITS: 32
    CL_DEVICE_MEM_BASE_ADDR_ALIGN: 32
    CL_DEVICE_MAX_MEM_ALLOC_SIZE: 134217728
    CL_DEVICE_GLOBAL_MEM_SIZE: 4
    CL_DEVICE_MAX_CONSTANT_BUFFER_SIZE: 65536
    CL_DEVICE_GLOBAL_MEM_CACHE_SIZE: 8192
    CL_DEVICE_GLOBAL_MEM_CACHELINE_SIZE: 128
    CL_DEVICE_LOCAL_MEM_SIZE: 65536
    CL_DEVICE_PROFILING_TIMER_RESOLUTION: 80
    CL_DEVICE_IMAGE_SUPPORT: 1
    CL_DEVICE_ERROR_CORRECTION_SUPPORT: 0
    CL_DEVICE_HOST_UNIFIED_MEMORY: 0
    CL_DEVICE_EXTENSIONS: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_fp64 cl_khr_icd cl_khr_gl_sharing
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_INT: 16
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_LONG: 16
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_FLOAT: 16
    CL_DEVICE_PREFERRED_VECTOR_WIDTH_DOUBLE: 0
    CL_DEVICE_NATIVE_VECTOR_WIDTH_INT: 16
    CL_DEVICE_NATIVE_VECTOR_WIDTH_LONG: 16
    CL_DEVICE_NATIVE_VECTOR_WIDTH_FLOAT: 16
    CL_DEVICE_NATIVE_VECTOR_WIDTH_DOUBLE: 16

1
ধন্যবাদ, তবে ইন্টেল অনুসারে তারা লিনাক্সের জন্য এইচডি 4000 এ ওপেনসিএল সমর্থন করে না: লিনাক্সের জন্য ওপেনসিএল এসডিকে 1.2, শিওন ছাড়াই? । আপনি কোন ধরণের পারফরম্যান্স পাচ্ছেন?
নেলাম্যাকবি

1
আহা - এখন আমি দেখতে পেয়েছি যে বেনিগেটের জন্য README.txt ব্যাখ্যা করে যে এটি ইন্টেলের ওপেনসিএল এসডিকে বিকল্প, যা সত্যই এইচডি 4000 সমর্থন করে। আপনাকে ধন্যবাদ !! মনে রাখবেন যে ভাবেন লোকেরা আসলে চালাতেও makeপারে .... ldconfigপ্যাকেজটি নিয়ে কোনও সমস্যার প্রমাণ চালানোর দরকার কি ?
nealmcb

2
ওপেনক্লোলের মতো পারফরম্যান্সটি বেশ দুর্বল এবং চমকপ্রদ। অন্যান্য ওপেনক্লিক প্রয়োগে চলে এমন কোড কখনও কখনও ক্র্যাশ হয় বা ত্রুটিগুলি আউট হয়ে যায়। এটি আপনাকে গণনাকারীর অন্বেষণ ছাড়াই তুচ্ছ পরীক্ষার জিনিসগুলি তৈরি করতে দেয়।
রোবটহুমানস 16'15

আমি মনে করি না এটি আপনার লাইব্রেরির অনুসন্ধানের পথে যুক্ত করার দরকারটি লাইব্রেরিতে একটি সমস্যা। আপনি যদি ওপেনসিএল ব্যবহার করছেন তবে অনুমানটি হ'ল আপনার কিছু প্রযুক্তিগত জ্ঞান রয়েছে। ব্যক্তিগতভাবে, আমি এটি চাই যদি ওপেনসিএল প্যাকেজগুলি একই সাথে সমস্ত ইনস্টলযোগ্য হয় এবং আপনি কেবল অনুসন্ধানের পথে কোন লাইব্রেরি অন্তর্ভুক্ত রয়েছে তা স্যুইচ করতে পারেন এবং ldconfig পুনরায় চালাতে পারেন অন্যরকম একটি নির্দেশ করতে। এটি যদি আপনার পরীক্ষার পরিবেশ হিসাবে সমস্ত 3 টি ভিডিও চিপসেট "ব্র্যান্ড" দিয়ে একটি পরীক্ষা বাক্সে থাকে এবং আপনি সমস্ত সম্ভাব্য লক্ষ্যবস্তুতে আপনার কোডটি বেঞ্চমার্ক বা স্রেফ পরীক্ষা-চালনার উপায় নিয়ে কাজ করেন তবে এটি কার্যকর হতে পারে।
রোবটহুমানস

1
এটা বোধগম্য. আমি জকি, আপডেট-বিকল্প, বা যাই হোক না কেন এটিকে চড় মারার মতো কিছু নিয়ে বোর্ডে আরও থাকব। লাইব্রেরি স্যুইচ করার কথা বলে এমন কিছু দিয়ে লাইব্রেরি স্যুইচ করবেন? অবশ্যই, এটি অস্থির পরিস্থিতির জন্য একটি ভাল ধারণা বলে মনে হচ্ছে।
রোবটহুমানস

0

সংকলন করার জন্য আপনার একটি সংকলক যেমন জিসিসি প্রয়োজন। আপনি জিপিসি এর সংগ্রহস্থল থেকে ডাউনলোড করতে পারেন। (আরও সি ​​++ 11 বৈশিষ্ট্যের জন্য বৃহত্তম সংস্করণ নম্বরটি চয়ন করুন)।

$> sudo gcc-4.7 ইনস্টল করুন

এর পরে আপনি যে অ্যাপ্লিকেশনটি সংকলন করছেন তার সাথে আপনার ওপেনসিএল লাইব্রেরিটি লিঙ্ক করতে হবে। পরীক্ষার নামক একটি ফোল্ডারে হোস্ট অ্যাপ্লিকেশন (মেইন.সি.) কোড এবং কার্নেল অ্যাপ্লিকেশন (কার্নেল.সিএল) কোডটি বলতে দেয়। আপনার নিম্নলিখিত হিসাবে করা উচিত:

$ পরীক্ষা> জিসিসি -আই / অপ্ট / ইন্টেল / অন্তর্ভুক্ত -এল / অপ্ট / ইন্টেল / লাইব / [x86 বা x86_64] / মেইন.সি.ও- a.out

এটি সংকলন যত্ন নেওয়া উচিত। আপনার আউটপুটটি এইভাবে চালানো উচিত:

$ পরীক্ষা> ./ a.out হয়

এবং আপনি যে কোনও রানটাইম ত্রুটি পেতে পারেন তার যত্ন নিন (আপনার কাছে কার্নেল.সিএল এর পথটি সংশোধন করা সহ)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.