Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  CPLEX Threads Count

    Posted Fri April 04, 2014 11:55 PM

    Originally posted by: psjones


    I'm using cplex_studio126.linux-x86-64 on a machine with 16 processing units available (nproc: 16) and I explicitly set the number of threads for CPLEX to 16 using the python wrapper: lp_instance.parameters.threads.set(16). However, CPELX still uses only one thread when solving a lp. I know that the way I use the parameter is correct since on my dual core laptop, I can set the thread count to either 1 (sequential) or 2, and this is reflected correctly when I run the program. But this is not the case when I use the machine with 16 processing units available and the program only uses 1 thread. I greatly appreciate any help.

    Output of lscpu command:

    Architecture:          x86_64

    CPU op-mode(s):        32-bit, 64-bit

    Byte Order:            Little Endian

    CPU(s):                16

    On-line CPU(s) list:   0-15

    Thread(s) per core:    1

    Core(s) per socket:    1

    Socket(s):             16


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: CPLEX Threads Count

    Posted Mon April 07, 2014 03:07 AM

    Did you change any other parameters to non-default values? In particular, did you change the LP solve algorithm?

    Could you please show us the CPLEX log output for your solve?


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: CPLEX Threads Count

    Posted Mon April 07, 2014 05:49 PM

    Originally posted by: psjones


    Hi Daniel,

    I haven't changed any of the default parameters and don't see any parallelism (basically when I run the top command I only see 1 of the 16 cpus has a utilization of 99% and the other 15 are idle, moreover it takes the same time to find a solution compared to when I solve the same problem on a single core machine). When I add  lp_instance.parameters.threads.set(16) (which from my understanding, should enable the opportunistic parallelism), I basically still get the same performance and run time.

    I'm not quite sure how I can get the verbose log output, but attached is whatever was printed on the screen.

    Thanks!


    #CPLEXOptimizers
    #DecisionOptimization