home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.arch      Apparently more than just beeps & boops      131,241 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 131,145 of 131,241   
   Terje Mathisen to Stephen Fuld   
   Re: A useless machine   
   18 Feb 26 21:56:42   
   
   From: terje.mathisen@tmsw.no   
      
   Stephen Fuld wrote:   
   > On 2/14/2026 1:57 AM, Thomas Koenig wrote:   
   >> Some people are throwing large amounts of computing power at trying   
   >> to disprove the Collatz conjecture.  Graphics cards have sped this   
   >> up enormously.   
   >    
   > big snip   
   >    
   >>   
   >> The number of iterations would be tracked; if larger than a prevous   
   >> record, the calculation would terminate with a corresponding signal   
   >> to the outside world.   
   >>   
   >> Also, each cycle, the result from the previous round would be   
   >> compared against the input value.  If it is lower, the next number   
   >> would be chosen.  Finally, the number reached would be checked against   
   >> the previous, pre-set maximum, with would also signal to the outside   
   >> world.   
   >    
   > Hold these thoughts   
   >    
   > snip   
   >    
   >> The problem is embarassingly parallel.    
   >    
   >    
   > Sort of.  You could do it that way, but you would be giving up some    
   > performance.  Specifically, as you say, you want to check the number    
   > against the previous input value and the preset maximum.  But in a    
   > parallel implementation, you want to check against the largest value    
   > checked *across all the parallel threads*.  In order to do that, the    
   > threads need to communicate, thus violating the "embarrassingly    
   > parallel" rule.  I don't know how much performance you would give up so    
   > it may not make much difference, nor do I know the cost of keeping some    
   > "global" largest value checked so far.  There is a tradeoff here.   
      
   KISS.   
      
   In this case that means "don't care". It is perfectly OK to only update    
   the "global max" each time a thread have finished a large block of    
   candidates, so just checking against the starting value is fine.   
      
   Assuming we also want to track the largest seen intermediate value, that   
   could also be updated the same way.   
      
   Terje   
      
   --    
   -    
   "almost all programming can be viewed as an exercise in caching"   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca