Multithreading in HM2017

Altair Forum User
Altair Forum User
Altair Employee
edited October 2020 in Community Q&A

Hi,

I am trying to implement Multi-threading in HM 2017 using TCL to compute faster results.

Is it possible with HM2017 after adding Thread package to its tcl.

 

Thanks in Advance, for help.

 

Regards

Piyush

Tagged:

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • tinh
    tinh Altair Community Member
    edited October 2017

    which results do you want to calculate?

    it is possible to create threads but i don't think they can access hm database

    creating threads is simple, but dividing jobs may be tough

  • QuyNguyenDai
    QuyNguyenDai Altair Community Member
    edited October 2017

    Are you speaking about Solver?

    For Hypermesh (Pre-Post) I don't think you can do something about this: either works, either does not work, that's all. 

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2017

    Dear @tinh and @Q.Nguyen-Dai,

     

    1. I need to import a model and then extract its geometry in threads. Like I need to extract Faces , Edges & Elements in parallel threads to save time. 

    2. I also wan't to display a GUI, which goes into 'not responding' loop while long calculations. So I want to display this GUI using one more parallel thread.

     

    (P.S. : Not able to Display GUI in threads using HM. Whenever I source my GUI file, it does not display any GUI, but in Main Thread, its working fine.)

     

    Is it possible with Hypermesh 2017 ?

     

    Thanks for help.

     

    Regards

    Piyush

  • tinh
    tinh Altair Community Member
    edited October 2017

    what do you mean by 'extract face, edge, elem' ?

    could you give an example?

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2017

    Dear @tinh

    1. Import Geometry file in Hypermesh

    2. This Step is Divided into 3 steps (using Multithreading)

    2.1  eval *createmark elems 1 all;  set 3d_elems [hm_getmark elems 1];

    2.2 eval *createmark elems 1 all;  *findfaces elems 1; eval *createmark elems 2 'by collector name' '^faces';  set 2d_elems [hm_getmark elems 1];

    2.3 eval *createmark elems 1 $all ;   *findedges elems 1 0;  eval *createmark elems 1 'by collector name' '^edges';  set tempp [hm_getmark elems 1];

     

    I need to complete this 2nd step using 3 child threads parallel.

    This is just an example, via which I need to do computations simultaneously.

     

    And I also wan't to display a GUI, which gets 'not responding forever' while long computation again & again. 

    I wan't the GUI to be active in this condition.

     

    Best Regards

    Piyush 

     

  • tinh
    tinh Altair Community Member
    edited October 2017

    It is impossible,

    as I said, i am not sure how child threads can access hm database

    they just load an tcl interp to perform calculations, i think so.

    if you find a way to do that please tell me.

  • QuyNguyenDai
    QuyNguyenDai Altair Community Member
    edited October 2017

    Good luck to Piyush  :D/emoticons/default_biggrin.png' srcset='/emoticons/biggrin@2x.png 2x' title=':D' width='20' />

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2017

    Dear @tinh

     

    I have tried hm_database access using threads, I am not able to access.

     

    Then, Child Thread can display a GUI, which keeps updating even with Long Calculations in Hypermesh ?

    I am not able to display GUI (eg. A button widget) using Child Thread in Hypermesh.

    Is this also possible ?

     

    Best Regards

    Piyush

     

  • tinh
    tinh Altair Community Member
    edited November 2017

    forget MT in hm, it just mess up your codes. 

    simply use update command to keep gui updating

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.