Go Back  R/C Tech Forums > General Forums > Chat Lounge
Programming Languages - Number Crunching >

Programming Languages - Number Crunching

Programming Languages - Number Crunching

Old 03-20-2012, 05:01 PM
  #1  
Tech Master
Thread Starter
iTrader: (1)
 
samnelso's Avatar
 
Join Date: Aug 2011
Location: Fitchburg, MA
Posts: 1,751
Trader Rating: 1 (100%+)
Default Programming Languages - Number Crunching

I figure there has got to be a lot of computer programming nerds on here to pose this vague question to. If someone needed a programming language that would form and calculate trillions of combinations with say 20 elements per combination, what language would do that most efficiently? Currently, such a program may be idiotically written in VB and may get the job done while looking "pretty," but that program takes a relatively long time. Currently, the VB program will form and pare its way through about 1.2T 15 element combinations in about 3seconds, but when it starts to calculate and sort each individual combo it bogs to many-o-minute. Anyway, that's about as descriptive as I'm gonna get. Happy chatting!

Last edited by samnelso; 03-20-2012 at 07:38 PM. Reason: changing my matrix wording
samnelso is offline  
Old 03-20-2012, 05:30 PM
  #2  
Tech Elite
iTrader: (4)
 
rmdhawaii's Avatar
 
Join Date: Feb 2006
Posts: 3,804
Trader Rating: 4 (100%+)
Default

Distributed computing is one possible solution. Instead of using one computer to do the work, you split the work amoung multiple computers, then take the results and send it back to one computer for storage (database/file system) or display.

There are many different ways to write a program to distribute the workload and get the results back, including using a database, client/server architecture, downloading from/posting to a Website, etc, etc.
rmdhawaii is offline  
Old 03-20-2012, 07:04 PM
  #3  
Tech Elite
iTrader: (1)
 
DOMIT's Avatar
 
Join Date: Oct 2007
Location: Fort Worth, Texas, USA, North America, Earth, Solar System, Milky Way Galaxy, Universe
Posts: 4,034
Trader Rating: 1 (100%+)
Default

Originally Posted by rmdhawaii View Post
Distributed computing is one possible solution. Instead of using one computer to do the work, you split the work amoung multiple computers, then take the results and send it back to one computer for storage (database/file system) or display.

There are many different ways to write a program to distribute the workload and get the results back, including using a database, client/server architecture, downloading from/posting to a Website, etc, etc.
+1, but I think he's talking about languages that don't use much overhead.

Up until very recently a "beowulf cluster" was among the faster supercomputers in the world... a bunch of old, crappy PCs running Linux.
DOMIT is offline  
Old 03-20-2012, 07:29 PM
  #4  
Tech Master
Thread Starter
iTrader: (1)
 
samnelso's Avatar
 
Join Date: Aug 2011
Location: Fitchburg, MA
Posts: 1,751
Trader Rating: 1 (100%+)
Default

Yea, ideally I'm talking about one computer doing the work. The IT guy at work was going to daisy chain some virtual machines together from the servers (or however he said it in his IT gargon), but he never got around to it. I do know that a multi-core machine helps, at least from the POV that you can run multiple iterations of the program in parallel.

Getting back to languages though, I've read that good 'ol C is good and Python can be good. I did some c++ in the past, but have no Python exp.
samnelso is offline  
Old 03-20-2012, 07:33 PM
  #5  
Tech Regular
iTrader: (1)
 
Join Date: Jul 2011
Posts: 396
Trader Rating: 1 (67%+)
Default

i would use c or c++ as they are meant for doing what you want.


also just because the supercomputer list has something at number one, that doesn't make it number one because a lot of supercomputers aren't reported because the countries don't want their enemies to know what they have.
stang is offline  
Old 03-21-2012, 12:18 AM
  #6  
Tech Elite
iTrader: (4)
 
rmdhawaii's Avatar
 
Join Date: Feb 2006
Posts: 3,804
Trader Rating: 4 (100%+)
Default

Yes, C/C++ is definitely better than VB.

To make use of multicore processors, you have to launch multiple threads, because the processor won't split the load among the processors for you. Not too hard to do once you find the sample code.
rmdhawaii is offline  
Old 03-21-2012, 08:41 AM
  #7  
Regional Moderator
 
CarbonJoe's Avatar
 
Join Date: Jul 2006
Posts: 2,664
Default

What about coding it for CUDA or GPGPU (Nvidia or AMD graphics cards used as co-processors)?
CarbonJoe is offline  
Old 03-21-2012, 08:54 AM
  #8  
Tech Master
iTrader: (20)
 
Join Date: Oct 2011
Location: Fort Collins, CO
Posts: 1,845
Trader Rating: 20 (100%+)
Default

Remind me on Thursday, Sam, and we can talk about this. I don't know whether you are being vague due to confidentiality or just the complexity of explaining, but I have a couple ideas that might make this work faster, just based upon the short explanation you gave.
LloydLoar is offline  
Old 03-21-2012, 10:51 AM
  #9  
Tech Master
Thread Starter
iTrader: (1)
 
samnelso's Avatar
 
Join Date: Aug 2011
Location: Fitchburg, MA
Posts: 1,751
Trader Rating: 1 (100%+)
Default

Originally Posted by LloydLoar View Post
Remind me on Thursday, Sam, and we can talk about this. I don't know whether you are being vague due to confidentiality or just the complexity of explaining, but I have a couple ideas that might make this work faster, just based upon the short explanation you gave.
Sounds good. A little bit of both, but don't overlook that my vagueness may also be an attempt to mask my lack of programming skills and avoid looking like a complete jackass.
samnelso is offline  
Old 03-21-2012, 12:45 PM
  #10  
Tech Lord
iTrader: (24)
 
wingracer's Avatar
 
Join Date: Nov 2007
Posts: 13,397
Trader Rating: 24 (100%+)
Default

Originally Posted by samnelso View Post
Sounds good. A little bit of both, but don't overlook that my vagueness may also be an attempt to mask my lack of programming skills and avoid looking like a complete jackass.
That's usually my reason for being vague. Works brilliantly

As for your question, I'll be exact. I don't have a clue
wingracer is offline  

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Thread Tools
Search this Thread

Contact Us - Archive - Advertising - Cookie Policy - Privacy Statement - Terms of Service - Do Not Sell My Personal Information -

Copyright 2021 MH Sub I, LLC dba Internet Brands. All rights reserved. Use of this site indicates your consent to the Terms of Use.