Open cNikolaou opened 9 years ago
I run a centos system, here is what I do to install the software, hope this may help:
(1) install FreeImage: make; make install
(2) export INTELOCLSDKROOT=/opt/intel/opencl
(3) In the idlf-master/ directory run:
chmod a +x ./create_unixmake_gcc.sh
./create_unixmake_gcc.sh
(4) This will generate a UnixMk folder,then go to this folder:
cd /UnixMk/DebugULT
make
(5) If all the tests above passed, then go to /idlf-master/bin/tester/g_ult/gcc/DebugULT/ and run:
./ult_gpu
(6) If all tests passed, then go to /idlf-master/UnixMk/Release and run:
make
(7) export LD_LIBRARY_PATH=~/Downloads/idlf-master/bin/device/gpu/gcc/Release/
(8) Edit the configuration file in idlf-master/bin/, I use gpu here so my gpu_caffenet.config is like this,my pictures to be tested is in the images folder:
--model=caffenet_float
--device=device_gpu
--batch=32
--input=~/Downloads/images
(9) Go to /idlf-master/bin and run:
./demo/device/gcc/Release/demo_device --config=gpu_caffenet.config
The result should pop out on the screen, also there will be a result-*.html in the /idfl-master folder, double click it then you can see the time and classification result on a browser.
note:if using cpu, then: export LD_PRELOAD=/lib64/libpthread.so.0
Thank you @sunshineatnoon. i successfully completed the first three steps.
Now, when I run make from the /UnixMk/DebugULT (4th step) the process stops at 96%. What I get after that is the following:
[ 96%] Building CXX object tester/g_ult/unit_tests/cpu/CMakeFiles/ult_cpu.dir/test_cases/cpu_layer_fullyconnected.cpp.o
Linking CXX executable ../../../../../../bin/tester/g_ult/gcc/DebugULT/ult_cpu
[==========] Running 58 tests from 34 test cases.
[----------] Global test environment set-up.
[----------] 1 test from cpu_device_load_and_unload
[ RUN ] cpu_device_load_and_unload.callbacks_test
[ OK ] cpu_device_load_and_unload.callbacks_test (2 ms)
[----------] 1 test from cpu_device_load_and_unload (2 ms total)
[----------] 2 tests from cpu_dropout_training
[ RUN ] cpu_dropout_training.standard_square_positive
[ OK ] cpu_dropout_training.standard_square_positive (7931 ms)
[ RUN ] cpu_dropout_training.standard_square_negative
[ OK ] cpu_dropout_training.standard_square_negative (7728 ms)
[----------] 2 tests from cpu_dropout_training (15660 ms total)
[----------] 1 test from cpu_convolution_maxpooling2x2_artificial
[ RUN ] cpu_convolution_maxpooling2x2_artificial.cpu_convolution_maxpooling2x2_stride1
Illegal instruction (core dumped)
make[2]: *** [../../bin/tester/g_ult/gcc/DebugULT/ult_cpu] Error 132
make[1]: *** [tester/g_ult/unit_tests/cpu/CMakeFiles/ult_cpu.dir/all] Error 2
make: *** [all] Error 2
Also, I get many warning from the previous steps but I didn't notice anything there.
Hi Christos, CPU implementation depends on AVX2 instruction set, so Haswell or newer CPU is required.
Alternatively, you could use Intel® SDE to run this project on older CPUs, but the performance would be impacted: https://software.intel.com/en-us/articles/intel-software-development-emulator
Hi, I would like to ask where to download *.nnd files for Hands-on test?
Thank you @sunshineatnoon , I completed the installation and run the demo of CaffeNet on CPU successfully following your steps.
But when I used GPU, I got a problem.
--model=caffenet_float --device=device_gpu --batch=48 --input=/home/liuzhuo/Public/ILSVRC2013_DET_val
I got
NN_Device_GPU ERROR [/opt/idlf/device/gpu/core/toolkit_opencl.cpp:86]: No computing platforms found! -1001 error: failed to load device 'device_gpu.so'
I run a CentOS 7.2 operating system, My CPU is Intel Core i5-6600 which has a Intel HD Graphics 530 GPU.
00:02.0 VGA compatible controller: Intel Corporation Sky Lake Integrated Graphics (rev 06)
I installed Intel SDK for OpenCL and
"OpenCL™ 1.2 Driver for Intel® HD, Iris™, and Iris™ Pro Graphics for Linux (64-bit)" from OpenCL™ Drivers and Runtimes for Intel® Architecture.
Is anything wrong with my OpenCL SDK or drivers? I have no idea how to fix the problem.
Hi @sunshineatnoon , I met with some problems in running the demo of CaffeNet both on CPU and GPU. At first, neither the 'cpu_caffenet.config' nor the 'gpu_caffenet.config' could be set to be the command line parameters. So I could only select the device by change the default settings. And when I tried to ran it on CPU, I got
Build of workflow Access violation - no RTTI data!Access violation - no RTTI data!
So I tried to ran it on GPU. However, now I got this
Device: Intel(R) HD Graphics 4000 does not contain required cl_intel_subgroup s extension! Device: GeForce GT 740M does not contain required cl_intel_subgroups extensio n! NN_Device_GPU ERROR[C:\CNN\idlf-master\idlf-master\device\gpu\core\toolkit_open cl.cpp:116]: Error: No suitable GPU OpenCL devices found! -1 error: failed to load device 'device_gpu.dll'
Could you please help me to solve my problems? Thanks!
Hi @RubickH You would need a Haswell-based CPU (or newer) in order to run this code - this applies to both CPU and GPU implementations. Please note that development and support for this project ended a while ago, so it might be difficult to get more help...
I tried to install the software and I got the following errors in the
Release
stage (and in other stages as well):I am trying to install on an Ubuntu machine with a single Intel processor. Also, I am trying to install on a Linux server (with AMD processors) but I get the same errors. I have downloaded the FreeImage library but I do not know what to do after that.
I will provide a documentation after I install the idlf but I have not done that yet. Could you please tell me if this software depends on a specific hardware infrastructure and what software dependencies does it have? I searched for documentation on other website but did not manage to find anything.
I also get the following later on: