Author |
Message |
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
LLR v3.8.4 has been released in the SGS (LLR) project for Linux and Mac. However, Windows has not been released yet because we are seeking a new wrapper. If anyone has experience with this process, please PM me.
The BOINC Wrapper
____________
|
|
|
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
The latest LLR 3.8.4 with the final version of gwnum has been released in the SGS (LLR) project for Linux and Mac. As soon as Rytis confirms that all is working well, he'll release them for the following LLR projects:
- SoB
- PSP
- Cullen
- Woodall
- 321
- TRP
- PPS
We still seek a new wrapper for Windows. If anyone has "any programming experience" please consider looking at the BOINC Wrapper to see if you can provide assistance.
Windows will remain on the old version until a new wrapper becomes available. Sorry. However, there's one way around this...you can use an app_info file. I know it's not even close to a good solution, but at least it's a solution.
____________
|
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
<app_name>llrTPS</app_name>
<version_num>608</version_num>
<platform>i686-pc-linux-gnu</platform>
<avg_ncpus>1.000000</avg_ncpus>
<max_ncpus>1.000000</max_ncpus>
<file_ref>
<file_name>primegrid_llr_wrapper_6.08_i686-pc-linux-gnu</file_name>
<main_program/>
</file_ref>
<file_ref>
<file_name>primegrid_sllr_3.8.4_i686-pc-linux-gnu</file_name>
<open_name>primegrid_cllr_3.7.1c.orig</open_name>
This is the copied section (without filesizes and md5sum's) out of my old client_state.xml. I think you need no newer wrapper, only a renaming from "primegrid_sllr_3.8.4_i686-pc-linux-gnu" to "primegrid_sllr_3.8.4_final_i686-pc-linux-gnu" in the server-application-settings. Not nice but should work.
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
RytisVolunteer moderator Project administrator
 Send message
Joined: 22 Jun 05 Posts: 2653 ID: 1 Credit: 86,414,420 RAC: 12
                     
|
It would work, but it will not update progress, which is kind of a no-go for long running tasks.
____________
|
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
Rytis are there plans to use only one app for all LLR-projects?
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
Vato Volunteer tester
 Send message
Joined: 2 Feb 08 Posts: 821 ID: 18447 Credit: 535,888,016 RAC: 602,543
                          
|
I see the 6.09 wrapper and 3.8.4_final LLR are available for all linux and mac subprojects now - Thank you!
I'm making a point of running the full selection of all of them to make sure there's enough data to confirm that all is well.
____________
|
|
|
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
I see the 6.09 wrapper and 3.8.4_final LLR are available for all linux and mac subprojects now - Thank you!
I'm making a point of running the full selection of all of them to make sure there's enough data to confirm that all is well.
As Vato points out, LLR 3.8.4 has been released for all LLR projects. However, we are still missing the Windows build. Our request for help on building a new wrapper still stands.
____________
|
|
|
|
yeah ok.. i'll do it.. gimme a day or so
never done boinc but i do programming for living.. so it shouldnt take me too long..
will report back with progress when i have some |
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
No progress?
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
No progress?
None
____________
|
|
|
|
no.. sorry.. i wasnt able to get the sample to compile.. successfully..
stupid thing.. i migt huninstall and try using VS2008 if i can still find it for download. (instead of vs2010) |
|
|
|
No progress?
None
What exactly do you need ?
____________
Join BOINC United now! |
|
|
RytisVolunteer moderator Project administrator
 Send message
Joined: 22 Jun 05 Posts: 2653 ID: 1 Credit: 86,414,420 RAC: 12
                     
|
What exactly do you need ?
We need a custom wrapper which
1) copies input file where LLR application can find it;
2) runs LLR and monitors its stdout for status messages and reports progress to BOINC accordingly. It also should monitor filesystem for file writes (checkpoints) and notify BOINC about them.
3) Copies outout file to the place where BOINC can find it.
It's fairly straightforward, it's just that I couldn't figure out how to correctly read progress (I had made it work standalone, but it fails when running under BOINC).
If you think you can help, PM or email me admin@primegrid.com and I will give you exact details. Thanks!
____________
|
|
|
Michael Goetz Volunteer moderator Project administrator
 Send message
Joined: 21 Jan 10 Posts: 13804 ID: 53948 Credit: 345,369,032 RAC: 4,797
                              
|
At least two people have tried to help with this, including myself. The problem isn't in the programing so much as it's difficult to get a correct development environment running that will compile the BOINC libraries and sample code. They seem to correctly compile only on versions of the compiler that are no longer available. So if you don't already have an working dev setup for creating BOINC code, you'll need to somehow 'acquire' old versions of Visual Studio. Either that or there's some details of the necessary setup steps that are both undocumented and difficult to figure out.
____________
My lucky number is 75898524288+1 |
|
|
|
At least two people have tried to help with this, including myself. The problem isn't in the programing so much as it's difficult to get a correct development environment running that will compile the BOINC libraries and sample code.
That's not a problem at all. I use vs 2005 and have a working setup that compiles&links the stock wrapper included in the boinc sources.
They seem to correctly compile only on versions of the compiler that are no longer available. So if you don't already have an working dev setup for creating BOINC code, you'll need to somehow 'acquire' old versions of Visual Studio. Either that or there's some details of the necessary setup steps that are both undocumented and difficult to figure out.
So if i read all the info here correctly, then a working wrapper already exists for linux.
All i'd need is the source code for that so i could compile it for windows.
____________
Join BOINC United now! |
|
|
|
What exactly do you need ?
We need a custom wrapper which
1) copies input file where LLR application can find it;
2) runs LLR and monitors its stdout for status messages and reports progress to BOINC accordingly. It also should monitor filesystem for file writes (checkpoints) and notify BOINC about them.
3) Copies outout file to the place where BOINC can find it.
It's fairly straightforward, it's just that I couldn't figure out how to correctly read progress (I had made it work standalone, but it fails when running under BOINC).
If you think you can help, PM or email me admin@primegrid.com and I will give you exact details. Thanks!
Ok, i got the link to the wrapper source from John.
I've used the linux source code, since there are already new versions for the wrapper and i "assume" that the progress bar is working there(there should be no difference between win<->linux since this is boinc specific).
Had to modifiy the source a bit (needed to include a header) and got both x86 and x86_64 wrappers compiled.
The only thing i need to know is if i need to modify the :
# define LLR_EXE_FILENAME "primegrid_cllr_3.7.1c.exe.orig"
# define LLR_LOCAL_EXE_FILENAME "primegrid_cllr_3.7.1c.exe"
and
boinc_resolve_filename_s("llr.ini.6.00", sInputFile);
or not...
Besides that, an app_info.xml for testing the wrapper would be great as well ;)
EDIT:
Got your pm Rytis and replied with a download url ;)
Let's hope that it works.
____________
Join BOINC United now! |
|
|
|
What exactly do you need ?
We need a custom wrapper which
1) copies input file where LLR application can find it;
2) runs LLR and monitors its stdout for status messages and reports progress to BOINC accordingly. It also should monitor filesystem for file writes (checkpoints) and notify BOINC about them.
3) Copies outout file to the place where BOINC can find it.
It's fairly straightforward, it's just that I couldn't figure out how to correctly read progress (I had made it work standalone, but it fails when running under BOINC).
If you think you can help, PM or email me admin@primegrid.com and I will give you exact details. Thanks!
Ok, i got the link to the wrapper source from John.
I've used the linux source code, since there are already new versions for the wrapper and i "assume" that the progress bar is working there(there should be no difference between win<->linux since this is boinc specific).
Had to modifiy the source a bit (needed to include a header) and got both x86 and x86_64 wrappers compiled.
The only thing i need to know is if i need to modify the :
# define LLR_EXE_FILENAME "primegrid_cllr_3.7.1c.exe.orig"
# define LLR_LOCAL_EXE_FILENAME "primegrid_cllr_3.7.1c.exe"
and
boinc_resolve_filename_s("llr.ini.6.00", sInputFile);
or not...
Besides that, an app_info.xml for testing the wrapper would be great as well ;)
EDIT:
Got your pm Rytis and replied with a download url ;)
Let's hope that it works.
OK... so from what i could gather and the experience with the behavior of wrapper code after compilation, it's safe to assume that it's not usable in it's current form.
There seems to be a serious issue regarding the security descriptors(tread handles) that causes havok when running on a 64 bit OS (xp 64+ upwards to win7). Therfore the spawed thread cannot be suspended/resumed...
A forced stop (terminate) is possible, with killing the llr thread entirely... (contrary to what the boinc wrapper sample code suggest... terminateprocess(pid,-1) <--- where pid is ok but -1 seems screwed .... how could it work.. since it needs to be a signed int...)
Anyway, the whole suspend_resume() is not working at all, basically i guess due to the screwed up security descritors... it's a big mess and completely unusable as of now...
Anyway, there's still a possibility to circumvent compiling a new wrapper... well see about that... and hopefully my suggestion works, at least for now, till this mess can be cleaned up properly...
If anyone of the previous devs have the code rewritten to adjust these issues and the only thing stopping you is getting it complied, feel free to contact me via pm and i can compile your code to see if that works any better compared to the "junk" that the wrapper is atm...
____________
Join BOINC United now! |
|
|
|
OK... i've experimented with the wrapper code a bit today and FINALLY made some progress.
The whole problem why it doesn't work is that when redirecting the input/output of a console process,
the parent process is being blocked by "ReadFile" which also causes the "loss" of control over the child process and
therefore one is unable to successfully "resume from suspention" and unable to terminate the child pid as well.
(don't know how that's called on windows, but in linux terms that would be a "zombie" (child process)...)
Anyway, here's the current situation:
What works:
- suspend the app
- resume the app
- terminate the app (boinc shutdown)
- progress bar(*) (when resumed from suspention and boinc wasn't shut down)
- result files get written/reported properly when the app is done (100%)
What doesn't work:
- *progress bar, when resuming from a (fake?)checkpoit and boinc was shut down ... it starts counting from zero again
(Does that work properly on linux ????????)
____________
Join BOINC United now! |
|
|
|
OK... i've experimented with the wrapper code a bit today and FINALLY made some progress.
The whole problem why it doesn't work is that when redirecting the input/output of a console process,
the parent process is being blocked by "ReadFile" which also causes the "loss" of control over the child process and
therefore one is unable to successfully "resume from suspention" and unable to terminate the child pid as well.
(don't know how that's called on windows, but in linux terms that would be a "zombie" (child process)...)
Anyway, here's the current situation:
What works:
- suspend the app
- resume the app
- terminate the app (boinc shutdown)
- progress bar(*) (when resumed from suspention and boinc wasn't shut down)
- result files get written/reported properly when the app is done (100%)
What doesn't work:
- *progress bar, when resuming from a (fake?)checkpoit and boinc was shut down ... it starts counting from zero again
(Does that work properly on linux ????????)
So.... since none dared to reply here... i'm replying to myself :D !!!
Judging from what i've heard.. it all looks excelent as of now!
My wrapper does the same as the one over a linux!
Need to read more ? -> http://board.mpits.net/viewtopic.php?f=32&t=39
Having some time (~2hrs) and a bit of focus did the trick.... shame on all socalled "devs" that tried before...n00bs you failed and suck big time !!!!
I KNOW...lIT'S MEAN... BUT TEAM BOINC UNITED MADE IT WORK....once again.. :D
____________
Join BOINC United now! |
|
|
Honza Volunteer moderator Volunteer tester Project scientist Send message
Joined: 15 Aug 05 Posts: 1931 ID: 352 Credit: 5,702,735,447 RAC: 1,042,218
                                   
|
My wrapper does the same as the one over a linux!
Good job, thanks.
Since Challenge is still ongoing, one can't expect much till end of the week and a bit after that untill validator has a chance to catch up.
You are in contact with John, coordination may go on.
Is it tempting enought to include wrapper into LLR app (BOINCify it) and make it one piece?
____________
My stats
Badge score: 1*1 + 5*1 + 8*3 + 9*11 + 10*1 + 11*1 + 12*3 = 186 |
|
|
|
Judging from what i've heard.. it all looks excelent as of now!
@Crunch3r
Seems that everywhere you go, you make a contribution to improve things. Thank you. |
|
|
|
Great news. Thank you!
____________
Polish National Team |
|
|
Jay Send message
Joined: 27 Feb 10 Posts: 123 ID: 56067 Credit: 60,700,043 RAC: 7,494
                    
|
Thank you very much Crunch3r. I very much appreciate your time and effort and I look forward to work units with the updated LLR version.
Also, thanks to Michael, shoelace, and anyone else who worked to get this updated.
Hopefully the final product will be implemented and in use soon. |
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
It's done. The app is listed in the PG download-directory...
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
|
It's done. The app is listed in the PG download-directory...
Yes, looks like it's listed under "Sophie Germain Prime Search (LLR)" as 6.09...
(The wrapper prints 6.03 to stderr.txt... but that's of no interest anyway)
____________
Join BOINC United now! |
|
|
Honza Volunteer moderator Volunteer tester Project scientist Send message
Joined: 15 Aug 05 Posts: 1931 ID: 352 Credit: 5,702,735,447 RAC: 1,042,218
                                   
|
Any bright idea how to easily migrate from app_info.xml to default settings without loosing any ongoing work?
My idea was to set from Cullen/Woodall LLR to PPS, set small cache and once long LLR tasks are done, delete app_info.xml. (not in a mood to mess with tons of xml files on dozens of hosts).
____________
My stats
Badge score: 1*1 + 5*1 + 8*3 + 9*11 + 10*1 + 11*1 + 12*3 = 186 |
|
|
|
Is it tempting enought to include wrapper into LLR app (BOINCify it) and make it one piece?
Sure, however i'm not sure what to make of that:
/* Copyright 1995-2000 Just For Fun Software, Inc. */
/* Author: George Woltman */
/* Adapted for LLR program by Jean Penné */
So, it is not GPL... and to be honest, i'm not keen becoming entangled in figuring out what license that is nor the consequences of that.
____________
Join BOINC United now! |
|
|
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
It's done. The app is listed in the PG download-directory...
Yes, it was initially released and tested with the SGS project. Now it has been released for all projects. Expect download of the new LLR which is quite a bit larger than the previous one.
Enjoy.
____________
|
|
|
|
Any bright idea how to easily migrate from app_info.xml to default settings without loosing any ongoing work?
My idea was to set from Cullen/Woodall LLR to PPS, set small cache and once long LLR tasks are done, delete app_info.xml. (not in a mood to mess with tons of xml files on dozens of hosts).
I'm not even sure what that means "My idea was to set from Cullen/Woodall LLR to PPS" but i don't know of any easy way without messing around with xml files to switch it back to default.
____________
Join BOINC United now! |
|
|
Honza Volunteer moderator Volunteer tester Project scientist Send message
Joined: 15 Aug 05 Posts: 1931 ID: 352 Credit: 5,702,735,447 RAC: 1,042,218
                                   
|
I'm not even sure what that means "My idea was to set from Cullen/Woodall LLR to PPS" but i don't know of any easy way without messing around with xml files to switch it back to default.
Loosing 50 hours of ongoing Woodall (of eve SoB) LLR tasks is worse than loosing 5 minutes of short PPS LLR tasks.
Idea was to switch to shorter WUs subprojects, let long ongoing tasks finish, delete app_info and let clients download default apps.
____________
My stats
Badge score: 1*1 + 5*1 + 8*3 + 9*11 + 10*1 + 11*1 + 12*3 = 186 |
|
|
|
I'm not even sure what that means "My idea was to set from Cullen/Woodall LLR to PPS" but i don't know of any easy way without messing around with xml files to switch it back to default.
Loosing 50 hours of ongoing Woodall (of eve SoB) LLR tasks is worse than loosing 5 minutes of short PPS LLR tasks.
Idea was to switch to shorter WUs subprojects, let long ongoing tasks finish, delete app_info and let clients download default apps.
yeah, loosing 50hrs would suck that's for sure! ... Anyway, i still don't know what you're tying to accomplish with switching to the shorter PPS LLR.
I assume that you're using an app_info.xml that contains all sub projects, right ?
If so, you still would need to modify the client_stats.xml file to get the new default wrapper.
Each subproject has a reference to what wrapper is used in the client_state.xml, so i'm affraid you'd either need to modify it + the app_info.xml or just wait till all tasks are done.
____________
Join BOINC United now! |
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
...or you copy 4 files and use my new xml-files for win32.
Biggest advantage would be, you can select GCW/Cuda for GPU and needn't enable the setting "send work from other subproject...".
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
|
...or you copy 4 files and use my new xml-files for win32.
Biggest advantage would be, you can select GCW/Cuda for GPU and needn't enable the setting "send work from other subproject...".
If he's using a 64 bit windows and switches back to a 32 bit default wrapper/app boinc might still abort all tasks since the platform changed!
So be careful aboout that ;)
____________
Join BOINC United now! |
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
If he's using a 64 bit windows and switches back to a 32 bit default wrapper/app boinc might still abort all tasks since the platform changed!
So be careful aboout that ;)
Okay, my mistake but LLR is 32bit and only Sieve would be a problem...
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
|
If he's using a 64 bit windows and switches back to a 32 bit default wrapper/app boinc might still abort all tasks since the platform changed!
So be careful aboout that ;)
Okay, my mistake but LLR is 32bit and only Sieve would be a problem...
I know, but you got a <platform>windows_intelx86</platform>
in your app_info.xml files and that can cause trouble. If it wasn't specified in the previous app_info.xml being used it will get the std value in the client_state.xml, which, on a 64 bit windows is <platform>windows_x86_64</platform>...
Therefore, boinc will abort those task...
Besides that, http://www.primegrid.com/forum_thread.php?id=2742 ???
Not sure about that one since it somehow misses the tag to rename it on the client side to primegrid_cllr.exe
____________
Join BOINC United now! |
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
I know, but you got a <platform>windows_intelx86</platform>
in your app_info.xml files and that can cause trouble. If it wasn't specified in the previous app_info.xml being used it will get the std value in the client_state.xml, which, on a 64 bit windows is <platform>windows_x86_64</platform>...
Therefore, boinc will abort those task...
The entry <platform>windows_intelx86</platform> is used by all llr-projects because there is no win64-version.
Besides that, http://www.primegrid.com/forum_thread.php?id=2742 ???
Not sure about that one since it somehow misses the tag to rename it on the client side to primegrid_cllr.exe
Answered in the other thread.
[add]
All LLR-projects are version 6.09 now.
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
Honza Volunteer moderator Volunteer tester Project scientist Send message
Joined: 15 Aug 05 Posts: 1931 ID: 352 Credit: 5,702,735,447 RAC: 1,042,218
                                   
|
Loosing 50 hours of ongoing Woodall (of eve SoB) LLR tasks is worse than loosing 5 minutes of short PPS LLR tasks.
Idea was to switch to shorter WUs subprojects, let long ongoing tasks finish, delete app_info and let clients download default apps.
yeah, loosing 50hrs would suck that's for sure! ... Anyway, i still don't know what you're tying to accomplish with switching to the shorter PPS LLR.
I assume that you're using an app_info.xml that contains all sub projects, right ?
If so, you still would need to modify the client_stats.xml file to get the new default wrapper.
Each subproject has a reference to what wrapper is used in the client_state.xml, so i'm affraid you'd either need to modify it + the app_info.xml or just wait till all tasks are done.
[/quote]
Exactly.
I'll let the cache dry, delete app_info and go with default settings.
App_info has some advantages as well like fine-tunning of what subprojects should run on each host, not limited to ---/home/school/work profiles.
____________
My stats
Badge score: 1*1 + 5*1 + 8*3 + 9*11 + 10*1 + 11*1 + 12*3 = 186 |
|
|
|
LLR v3.8.5 has been released.
http://www.mersenneforum.org/showthread.php?t=15248
____________
|
|
|
rroonnaalldd Volunteer developer Volunteer tester
 Send message
Joined: 3 Jul 09 Posts: 1213 ID: 42893 Credit: 34,634,263 RAC: 0
                 
|
LLR v3.8.5 has been released.
http://www.mersenneforum.org/showthread.php?t=15248
Any news when PG will switch to the new app?
____________
Best wishes. Knowledge is power. by jjwhalen
|
|
|
John Honorary cruncher
 Send message
Joined: 21 Feb 06 Posts: 2875 ID: 2449 Credit: 2,681,934 RAC: 0
                 
|
LLR v3.8.5 has been released.
http://www.mersenneforum.org/showthread.php?t=15248
Any news when PG will switch to the new app?
Eventually, but there's no hurry. There's only minor differences from the current version and no "noticeable" speed improvements.
____________
|
|
|