HPC: Parametric Sweep variations don’t run in parallel

    • grybka

      I am trying to get my cluster to run many variations of a parametric sweep in parallel. I can get different designs within a file to run in parallel, but everything within a design runs in series. The analysis setup will first run, and then the parametric sweep will run one at a time. What additional flags do I need in my setup to get variations to run in parallel? Is there anything I need to add to:

      hfss_install/AnsysEM19.2/Linux64/ansysedt -ng -monitor -distributed -machinelist numcores=20 -auto -batchoptions "HFSS/HPCLicenseType=pool" -batchsolve terminator_symmetries_TE11_10032018_test.aedt


    • slouie
      Ansys Employee

      Hi grybka - 

      You cannot use -auto to run parametric sweeps in parallel. Please remove that flag and add number of tasks (number of parametric points in parallel) that you'd like to run. 

      Here's an example:

       -machinelist list=local:2:4:90%

      Where I'm running on my local machine: 2 tasks: 4 cores: 90% RAM limit.

      Hope that helps.

    • grybka

      Thank you slouie! I am new to HPC. How do change the machinelist flag for submitting to a cluster instead of a local desktop?

      My cluster runs SGE. I submit the job with the qsub command that runs the bash script attached (I had to change the extension to txt for the forum to allow it). I don't know beforehand which nodes will be used to run the job.

    • asamaiyar


      I use this code to determine the machine list.

      mpirun hostname | sort -u > hfss.nodefile

      Correction to what slouie said: You can use -auto to run parametric sweeps in parallel. Here is my example run command to solve 5 parameters in parallel:

      /path-to-hfss/Linux64/ansysedt -monitor -ng -batchsolve -distributed -machinelist list="${MACHLIST}" -auto NumDistributedVariations=5 -batchoptions $Optns -batchsolve "HFSSDesign1:Nominal:Setup1" example.aedt

      And I set $MACHLIST using following command:

      setenv MACHLIST ""

      @ a = 1
      foreach NODE (`cat hfss.nodefile`)
        if ($a == 1) then
          setenv MACHLIST "${MACHLIST}${NODE}:-1:24"
          setenv MACHLIST "${MACHLIST},${NODE}:-1:24"
        @ a = $a + 1

      Hope this helped!


    • grybka

      NumDistributedVariations was what I was looking for. Thank you.

      Also, after looking around and testing things, I don't think you need to specify the machinelist. The ANSYS Help website says that the job scheduler should take care of this for you, and all you need to do is specify number of cores.

Viewing 4 reply threads
  • You must be logged in to reply to this topic.