7 Replies Latest reply on Feb 15, 2018 10:40 PM by Intel Corporation

    ICC compiler license

    Thomio

      Hi guys,

       

      I'm trying to compile intel-caffe with icc compiler support but I'm getting a license error.

      I tried to locate the license file (*.lic) but didn't find it.

      The error message is:

       

          Error: A license for Comp-CL could not be obtained (-1,359,2).

       

          Is your license file in the right location and readable?

          The location of your license file should be specified via

          the $INTEL_LICENSE_FILE environment variable.

       

          License file(s) used were (in this order):

          **  1.  /usr/local/licenseserver/psxe.lic

          **  2.  /glob/development-tools/versions/intel-parallel-studio-2018/compilers_and_libraries_2018.0.128/linux/bin/intel64/../../Licenses

          **  3.  /home/u9761/Licenses

          **  4.  /opt/intel/licenses

          **  5.  /Users/Shared/Library/Application Support/Intel/Licenses

          **  6.  /glob/development-tools/versions/intel-parallel-studio-2018/compilers_and_libraries_2018.0.128/linux/bin/intel64/*.lic

       

          Please refer http://software.intel.com/sites/support/ for more information..

       

          icc: error #10052: could not checkout FLEXlm license

          awk: cmd. line:1: {exit  < 4.6;}

          awk: cmd. line:1:        ^ syntax error

          Makefile:442: *** Cannot static link with the icc compiler.  Stop.

       

       

      Best,

      Thomio

        • 1. Re: ICC compiler license
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Thomio,

          Please share the Makefile that you have used and the steps followed to build it so that we can reproduce the same environment here.

          Regards,
          Deepthi.

          • 2. Re: ICC compiler license
            Thomio

            Hi Deepthi,

             

            I've attached the files (.bash_profile and Makefile.config) so you can replace them.

            To compile the code you don't need to access the working node.

            Here are the steps:

             

            1 - Replace your .bash_profile to remove python3 from the binary search path and edit other env variables.

             

            2 - Update the env variables:

             

                source .bash_profile

             

            3 - Clone the intel caffe repository:

             

                git clone https://github.com/intel/caffe.git

                cd caffe

             

            4 - Create Makefile.config

             

                cp Makefile.config.example Makefile.config

             

            5 - Edit Makefile.config:

             

                5.1 - Add the following lines after INCLUDE_DIRS and LIBRARY_DIRS:

                    INCLUDE_DIRS := $(PYTHON_INCLUDE) ${SERIAL_HDF5_INCLUDE} /usr/local/include

                    LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

             

                    INCLUDE_DIRS += /glob/supplementary-software/protobuf/include/

                    INCLUDE_DIRS += /glob/intel-python/python2/pkgs/python-2.7.14-intel_1/include/python2.7/

                    INCLUDE_DIRS += /glob/intel-python/python2/pkgs/numpy-1.13.3-py27_intel_6/lib/python2.7/site-packages/numpy/core/include

                    LIBRARY_DIRS += /glob/supplementary-software/protobuf/lib/

                    LIBRARY_DIRS += /glob/intel-python/python2/pkgs/python-2.7.14-intel_1/lib/

             

                5.2 - Uncomment CUSTOM_CXX and replace g++ with icc.

             

                    CUSTOM_CXX := icc

             

            6 - Compile:

             

                make all -j20

             

             

            You will get a strange error message if you first try to compile in the working node.

            I think there is a cmake configuration issue with the mkldnn or mkl packages.

            Anyway you should be able to compile intel caffe with g++ in the login node.

             

            Best,

            Thomio

            • 3. Re: ICC compiler license
              Intel Corporation
              This message was posted on behalf of Intel Corporation

              Thanks Thomio. Will check and get back to you.

              • 4. Re: ICC compiler license
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hi Thomio,

                Are you still observing the memory issue on login node? If yes, could you please share the result of free -m or free -g command on login node for further checking. We were able to compile it by modifying the Makefile.config on login node without the license issue.

                Regards,
                Deepthi Raj.
                 

                • 5. Re: ICC compiler license
                  Thomio

                  Hi Deepthi,

                   

                  I still have the memory issue on login node (I have to compile from a working node):

                   

                      "virtual memory exhausted: Cannot allocate memory"

                   

                  The license issue also occurs when I try to compile intel-caffe with MLSL on login node:

                   

                      Error: A license for Comp-CL is not available now (-97,121).

                   

                      A connection to the license server could not be made.  You should

                      make sure that your license daemon process is running: both an

                      lmgrd process and an INTEL process should be running

                      if your license limits you to a specified number of licenses in use

                      at a time.  Also, check to see if the wrong port@host or the wrong

                      license file is being used, or if the port or hostname in the license

                      file has changed.

                   

                  What is the deal with intel licenses, can someone explain to me how they work ?

                  I had several issues with dependencies this last week, but I managed to solve them.

                  Now that I started to run some tests it seems I'm only able to use one core and it is pretty slow.

                  It would be nice to compile the code with icc and MLSL support.

                   

                  From the "free" cmd it seems the swap memory is very small but honestly I don't know if increasing the swap would solve the memory problem.

                   

                  [u9761@c009 ~]$ free -m

                                total        used        free      shared  buff/cache   available

                  Mem:          15885         415        2637         194       12832       14835

                  Swap:           819         139         680

                   

                  [u9761@c009 ~]$ free -g

                                total        used        free      shared  buff/cache   available

                  Mem:             15           0           2           0          12          14

                  Swap:             0           0           0

                   

                  [u9761@c009 ~]$ free -h

                                total        used        free      shared  buff/cache   available

                  Mem:            15G        416M        2,6G        194M         12G         14G

                  Swap:          819M        139M        680M

                   

                  Thanks,

                  Thomio

                  • 6. Re: ICC compiler license
                    Intel Corporation
                    This message was posted on behalf of Intel Corporation

                    Since the memory space is very less, you have to compile it from the compute node itself. We are checking on that. Will get back to you.

                    Regards,
                    Deepthi Raj.

                    • 7. Re: ICC compiler license
                      Intel Corporation
                      This message was posted on behalf of Intel Corporation

                      Hi Thomio,

                      Please add following line(in bold letters)to Makefile(not Makefile.config) inside caffe . Search for "Static linking" line and add the line given in bold. Then you will e able to compile caffe from compute node (qsub -I) with ICC compiler. Please check and confirm.

                      # Static linking
                      ifneq (,$(findstring clang++,$(CXX)))
                              STATIC_LINK_COMMAND := -Wl,-force_load $(STATIC_NAME)
                      else ifneq (,$(findstring g++,$(CXX)))
                              STATIC_LINK_COMMAND := -Wl,--whole-archive $(STATIC_NAME) -Wl,--no-whole-archive
                      else ifneq (,$(findstring mpi,$(CXX)))
                              STATIC_LINK_COMMAND := -Wl,--whole-archive $(STATIC_NAME) -Wl,--no-whole-archive
                      else ifneq (,$(findstring icpc,$(CXX)))
                              STATIC_LINK_COMMAND := -Wl,--whole-archive $(STATIC_NAME) -Wl,--no-whole-archive
                      else ifneq (,$(findstring icc,$(CXX)))
                              STATIC_LINK_COMMAND := -Wl,--whole-archive $(STATIC_NAME) -Wl,--no-whole-archive

                      else
                        # The following line must not be indented with a tab, since we are not inside a target
                        $(error Cannot static link with the $(CXX) compiler)
                      endif