intel / idlf

Intel® Deep Learning Framework
BSD 3-Clause "New" or "Revised" License
312 stars 85 forks source link

Installation instructions and documentation #3

Open cNikolaou opened 9 years ago

cNikolaou commented 9 years ago

I tried to install the software and I got the following errors in the Release stage (and in other stages as well):

FreeImage_LIBRARIES (ADVANCED)
    linked by target "tester" in directory /home/user_name/idlf/idlf/tester
    linked by target "demo_device" in directory /home/user_name/idlf/idlf/demo/device
    linked by target "demo_primitives" in directory /home/user_name/idlf/idlf/demo/primitives
OPENCL_INCLUDE_DIRS
   used as include directory in directory /home/user_name/idlf/idlf/device/gpu
OPENCL_LIBRARIES
    linked by target "device_gpu" in directory /home/user_name/idlf/idlf/device/gpu

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:

cxx Flags: 
-- ULTS_WORKING_DIR ...................... /home/user_name/idlf/idlf/bin/tester/g_ult/gcc/DebugULT
-- ULTS_RUN_DIR ...................... /home/user_name/idlf/idlf/bin/tester/g_ult/gcc/DebugULT
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
sunshineatnoon commented 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
cNikolaou commented 9 years ago

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.

jreniecki commented 9 years ago

Hi Christos, CPU implementation depends on AVX2 instruction set, so Haswell or newer CPU is required.

jreniecki commented 9 years ago

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

albanjiang commented 8 years ago

Hi, I would like to ask where to download *.nnd files for Hands-on test?

jreniecki commented 8 years ago

https://01.org/intel-deep-learning-framework/downloads

liuzhuo14 commented 8 years ago

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.

RubickH commented 8 years ago

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!

jreniecki commented 8 years ago

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...