![]() |
idea for developers
To write a new maths sieving/factoring application to blow all others away!! :rant:
I have no experience in maths projects, and joined this project a few days ago. I've already seen the names of at least half a dozen different sieving/factoring/prime hunting applications. Could it not be created one maths application that would execute all the varied tests necessary for the many maths projects out there? Providing for example that each project would have its own personal script that would tell the app what calculations to do and how? Being so that people would just have to download the universal application, the script corresponding to the project they wanted to run, a few more files depending on the project's needs, and then input a the range or a number they wanted to work with, and the app would start working away! Oh well... it is good to dream. :rolleyes: Hope no one minds this rant from a Boinc-habituated cruncher... :razz: |
It is a good idea, there are some software that use this principle, but they are not so efficient.
Why what you propose is not done, is because it makes the program slower than having a program do one task only. If you understand programming, this should make sense. The machines are not as smart as we are (as of yet atleaset, don't know of the future). They can't come up with the best algorithm to sieve a given type of numbers. Citrix |
[QUOTE=Citrix]The machines are not as smart as we are (as of yet atleaset, don't know of the future). They can't come up with the best algorithm to sieve a given type of numbers.[/QUOTE]
I think they don't really have to. NeoGen seems to want all necessary programs integrated into a single application. Now a project server can tell what's best to do. It's like Prime95 - you have Trial Factoring, P-1 and LL testing. The server decides what's best and on which candidate(s). IIRC, TTn has something in that way, called "RMA". Basically, the integration is quite difficult, because all programs "differ from each other". |
I'm a bit angry with the initial post because IMHO coming somewhere (you admit you don't have experience) and asking "Why everything is any better than this" isn't the best debut.
Nevertheless there are answers to your questions, and I would like to try to work them out. First of all, the confusing variety of tools, doesn't have but bad aspects. It means also that there is concurrence between different approaches. If you have an idea for improving your software, you don't have to care about how to embed it in a given, eventually perturbing frame. The modular concept helps easy support, because problems concern one concrete part, not a black box. Everybody can take the parts he needs and mount his own project of hunting primes with three legs and two heads. Second, there is exiting work being done. George Woltman created and is still improving a great tool (prime95), which incorporates btw many different aspects of hunting primes. It is incredibly high tuned, bugchecked, and if there is a 3% speed increase possible, there will be a new version. Something that cannot be said of every other piece of software. Work is currently being done too in order to improve the proth sieve client,too. Third, prime hunting is to many of the people here an hobby, and so it is partially for the code developping people, too. These guys have full time jobs, family, and friends. And we have to be glad that they invest a lot of time in writing software and to care about it. Fourth, there are attempts to create complete crunching environments, such for SoB, one of the major projects. But again, it is a lot of work and the competent people have finite time. Fifth, having small, relatively down-to-earth applications allows poeple like you and me who know Jack shit about mathematics are able to give their 5 cent, understanding a little part of what they are doing instead of watching only their stats and their electricity bill climb. If somebody wants the minimal effort, he is still free to chose a project where the client does the work. These exist. As for BOINC, I have no real opinion, knowing nothing about it, but from hearsay, effectivity(optimization) and user support are at least contentious. Now, I wish everybody a pleasent time hunting primes, and we are all happy about contributions whatsoever. Anyway we are most time like this :banana: , if we are not just waiting for primes :yawn: . |
Hi hhh
I personally apologize for that first post, to you and anyone else that felt it as offensive. As I said in the last lines, I didn't mean to bother anyone, it was just a loud rant from an unexperienced user that got a shock when starting to discover this world of the maths projects. You are right about boinc, efficiency is one of the lowest priorities. In some projects where the source code is released, it's the members of the project who pick it up and compile the applications with optimizations for specific cpu architectures. The real gain of boinc is in the ease of use. A person only has to install the "universal client" (boinc manager), create an account on *any boinc-compatible project* website that he/she wishes to participate in, put the username/password of the account created in the manager and sit back watching it work. All downloads/uploads/work fetching/results submitting/etc are automatically done by the boinc manager. And in most projects you even get a cool screensaver to watch while it works. So you see how it was a shock to me when I had to do all the stuff I did just to sieve one small range. :sad: Once again, I'm sorry for that first post. I really did not mean to offend anyone. Prime hunting is really a world apart from what I was used to. :redface: |
[QUOTE=NeoGen]So you see how it was a shock to me when I had to do all the stuff I did just to sieve one small range. :sad:[/QUOTE]
Welcome to the world of "historically grown" structures. :wink: I don't know... maybe it could be possible to develop a suitable infrastructure design first, and then let one application after the other migrate to it. But a lot of effort would go into this project. And, more importantly, a considerable percentage of this effort would go to the creators of the programs, who then can't improve and develop them otherwise... |
I began my DC carrer about a year ago, and had to be snubbed two or three times, too. I knew from the beginning that you are not a crank, otherwise I wouldn't have replied in that length. So peace and welcome aboard. H.
|
I can imagine this project (the one I'm working, sieve) running under boinc... (I got a fertile imagination. :lol: )
- I would register a nickname on the project server, as I did here in the forums, get an account key and put it in the boinc manager. - The boinc manager would then contact the server, passing in my machine's specs and requesting an application and a few workunits. (Boinc manages queues of workunits to be able to work offline, or when the project server is down) - The project server would then send the application (proth sieve 0.42) and the most recent sob.dat file. - After that boinc would request the server a few ranges and start working on them. One thing bad is that boinc can't tell apart which ones got SSE, MMX or anything else. They're all x86 machines as far as it is concerned. I remember reading on the boinc docs that for optimization regarding SSE, SSE2, and etc, the developers were "encouraged to build applications with different code paths instead of different applications for each case"? (is that possible? One application that includes all optimizations and only uses them in case the machine can?) But one good thing is that boinc servers can determine the kind of work to send to a client depending on its specs. Fast machines could get bigger ranges, whereas slower machines would be assigned smaller ranges. Anyways... I can only dare to dream... :rolleyes: |
[QUOTE=NeoGen](is that possible? One application that includes all optimizations and only uses them in case the machine can?)[/QUOTE]
Well, as Prime95/mprime does it... Yes... I'm [i]quite[/i] confident this is possible. :razz: |
It could be done with a single program that would not cause a performance loss. But it would require plugins that can change the core of the application on the fly when loaded. Other than that I don't know how it would be done without a performance loss.
|
I would like a network proth_sieve. I am still waiting on that one. I have become tired waiting and have started writing a sieve for my computers. (spent 2 hrs on it so far). Right now I am stuck on how to do multmod with large numbers, fast and fit in 64 bit. I am thinking of using GMP, but I am not sure if that is faster than 64 bit numbers?
Any thought? Any offers for help? Citrix |
| All times are UTC. The time now is 01:24. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.