Re: [Gems-users] Node number limitations?


Date: Tue, 27 Jun 2006 10:26:32 -0500
From: Dan Gibson <degibson@xxxxxxxx>
Subject: Re: [Gems-users] Node number limitations?
The code you are asking about is intended to handle the case where a "set" consists of multiple words, most of which will be all-1's, but the topmost will have some of its most-significant bits zeroed. That is the purpose of the mask associated with that comment.

OptBigSet in general is optimized for 64-bit machines, so the simplest way to find out if OptBigSet is your problem would be to use BigSet instead. To do so, edit Set.h and #define BIGSET instead of #define OPTBIGSET.

Regards,
Dan

Enric Herrero wrote:
Hi, Thank you for answering.

We use a 32 bit processor and despite setting the file to #define __32BITS__ is still not working.

We have also problems with the number of memories used and seems to be the same kind of problem. When we use 64 processors and we try to access node 55 it is going to node 23.

Desired node 55  -> 110111
Node accessed 23 ->  10111
As we see ruby seems to use less bits than the necessary for dealing with this number of memories. We have seen that in OptBigSet.C when the vectors are defined some masks are applied. Why are these masks applied?
We don't understand the sentence:

  // the number of populated spaces in the higest-order array slot is:
  // m_nSize % 32, so the uppermost 32 - m_nSize%32 bits should be
  // cleared

Is this related to our problem? And if it has relation it is possible to increase the number of bits used?

Thank you

/Marco and Enric


*/Dan Gibson <degibson@xxxxxxxx>/* escribió:

    Marco/Enric,
    I think this is a known bug with the file OptBigSet.C, which
    implements bit vectors. With some compiler/platform combinations,
    the macros that OptBigSet.C uses are not properly set. The
    solution is relatively straightforward: Edit OptBigSet.C, and find
    the code that defines either __64BITS__ or __32BITS__, depending
    on your platform, and simply remove the #if condition that selects
    which marco is used. Thus, you might replace:
     #if __amd64__ || __LP64__
     #define __64BITS__
     #else
     #define __32BITS__
     #endif
    with:
    #define __32BITS__

    You should also add a #define __32BITS__ to OptBigSet.h.

    Regards,
    Dan Gibson


    Marco Tirado wrote:
    Hello:
We are simulating a CMP system with Ruby. We have succesfully
    simulated the system with 32 processors. However after increasing
    the number of nodes in the Network topology file (this for a
    FILE_SPECIFIED network) we get the following error:
failed assertion 'msg_destinations.count() == 0' at fn
    virtual void PerfectSwitch::wakeup() in
    network/simple/PerfectSwitch.C:264
At first we were using 64 nodes in the network and it worked
    fine, we get the error when we increase the number of nodes to
    96. Since this is the only parameter we have changed in the
    system, is there any GEMS limitation for the number of nodes or
    in the number of links ? Any help on this will be apreciated.
Marco and Enric
    ------------------------------------------------------------------------

    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx
    https://lists.cs.wisc.edu/mailman/listinfo/gems-users
    _______________________________________________
    Gems-users mailing list
    Gems-users@xxxxxxxxxxx
    https://lists.cs.wisc.edu/mailman/listinfo/gems-users


------------------------------------------------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com <http://us.rd.yahoo.com/mail/es/tagline/messenger/*http://es.voice.yahoo.com/>
------------------------------------------------------------------------

_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
[← Prev in Thread] Current Thread [Next in Thread→]