Aktualności:

Nowy polski projekt BOINC - Universe@Home

Menu główne

RenderFarm

Zaczęty przez KrzychuP, 08 Listopad 2006, 08:29

KrzychuP

W projekcie RenderFarm@Home zostały wygenerowane nowe jednostki (8 tys.). Prawie 3 tys. zostały już rozgrabione przez chętnych, więc kto chce niech się pospieszy. ;)

Bober

KrzychuP właśnie zauważyłem na forum RenderFarm, gdzie chciałem się poskarżyć, że spotkało nas to samo - 0.01 credit granted :( Można klub założyć... :P

KrzychuP

częściową odpowiedź dostałem i kontynuuję wątek, zobaczymy co to da.

kempler

RenderFarm zmienił adres teraz jest: http://www.renderfarmathome.com.ar/

Kury Nas pogryzą, Raptory zeżrą....

Bober

Dobra już mi się znudziło czytanie forum Rendera. Chciałem napisać prostą rzecz: jaki jest cel tego projektu?
Wiadomo, że renderuje grafikę...ale po co, dla kogo, przez kogo...czym się różni od BURP (właściwie gdzieś na forum twórca projektu napisał o czymś (nie wiem czy ogólnie czy o konkretnej grafice), że BURP zrobiłby to lepiej)???

Ktoś zna odpowiedzi na te pytania?

kempler

Z forum BS

Cytat: "PovAddict"
I'm the admin at Renderfarm@Home, and I can tell you it's not for profit. The project purpose is similar to BURP, only I do it more "quick n dirty". For example, I doubt I'll ever do a web interface so anybody can upload stuff, instead I'd leave it as a manual thing where people send me the files via email or something...
I should be contactable at the usual address that most websites have, that is webmaster @ domain name (that would be the project's domain name). If that doesn't work, let me know.

http://www.boincstats.com/forum/forum_thread.php?id=1533

Gdzieś widziałem że korzysta z POV-Ray
http://pl.wikipedia.org/wiki/POV-Ray

Ale za dużo to nie wyjaśnia  :? [/url]

Kury Nas pogryzą, Raptory zeżrą....

Bober

Tak korzysta z tego POV cosia.

No właśnie bo odnosi się wrażenie, że cały projekt sam ciągnie  ten Nicolas (vel PovAddict - to co nieco wyjaśnia :P). Ale skoro nie jest to for-profit, BURP mógłby zrobić to samo, to...jedyne co pozostaje to, że bawi się w to dla przyjemności... :-k
Cytat: "PovAddict"BelgianBeer is a quite informal project (even more than Renderfarm  ). They have no real purpose yet, they just wanted to try out setting a server (same way I started)
Z tego wynika, że Render to taka jego zabawa.... no ale coś tam wyrenderował bo wyniki można było obejrzeć...przynajmniej dziś na YouTube coś widziałem.

Dzięki za pomoc :!:

Ciekawe swoją drogą...za tym projektem wobec tego nie stoi żadna instytucja...wygląda jakby zwykły liczydłowy go sobie zrobił. Może my też powinniśmy sami coś zrobić, a nie czekać na polskich naukowców...i mielibyśmy wreszcie PPB  :wink: Tyle, że byłaby to taka powtórka z NS@h a nie poważna sprawa :(

bartsob5

dostarczcie mi kompilator ktory skompiluje upper_case'a to sie tym zajme... albop na windowsa albo na linuksa, w tym momencie jest to bez roznicy...

Mchl

A serwer już postawiłeś?

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Bober

Cytat: "bartsob5"dostarczcie mi kompilator ktory skompiluje upper_case'a to sie tym zajme... albop na windowsa albo na linuksa, w tym momencie jest to bez roznicy...
tym tzn czym? Rozumiem, że mówisz, że zaraz odpalasz swój projekt??? :wink:

Mchl

upper_case to najprostsza (chyba) pokazowa aplikacja dla BOINC. Wystarczy mieć ją i postawiony serwert i projekt gotowy :P

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Bober

Ach takie to proste...to co robimy Test Project 2? :lol:
Tylko tym razem ja chcę być UotD  :lol:

bartsob5

Cytat: "Mchl"upper_case to najprostsza (chyba) pokazowa aplikacja dla BOINC. Wystarczy mieć ją i postawiony serwert i projekt gotowy :P

zaiste... z tym ze kompilacja tego nie jest taka prosta.. probowalem to robic na msvc ee, posiadajac boincowe biblioteki od PovAddicta, ale nie podolalem (ilosc errorow mnie przerosla...)
a jesli chodzi o sam serwer, to nie ja mialem sie tym zajac:P

[PBT] Horpah

Cytat: "bartsob5"dostarczcie mi kompilator ktory skompiluje upper_case'a to sie tym zajme... albop na windowsa albo na linuksa, w tym momencie jest to bez roznicy...

mam takie coś , jakby co to mogę udostępnić:
Intel.C.Plus.Plus.Compiler v9.1.032
Math.Kernel.Library
Understand.for.C.Plus.Plus.v1.4.364b
razem prawie 160 mega

bartsob5

Cytat: "PBT_Horpah"
Cytat: "bartsob5"dostarczcie mi kompilator ktory skompiluje upper_case'a to sie tym zajme... albop na windowsa albo na linuksa, w tym momencie jest to bez roznicy...

mam takie coś , jakby co to mogę udostępnić:
Intel.C.Plus.Plus.Compiler v9.1.032
Math.Kernel.Library
Understand.for.C.Plus.Plus.v1.4.364b
razem prawie 160 mega

probowales tym kompilowac #ifdef _WIN32
#include "boinc_win.h"
#else
#include "config.h"
#endif

#ifndef _WIN32
#include <cstdio>
#include <cctype>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <csignal>
#include <unistd.h>
#endif

#define BOINC_APP_GRAPHICS

#ifdef BOINC_APP_GRAPHICS
#include "graphics_api.h"
#include "graphics_lib.h"
#endif

#include "diagnostics.h"
#include "str_util.h"
#include "util.h"
#include "filesys.h"
#include "boinc_api.h"
#include "mfile.h"

using std::string;

#define CHECKPOINT_FILE "upper_case_state"
#define INPUT_FILENAME "in"
#define OUTPUT_FILENAME "out"

bool run_slow = false;
bool early_exit = false;
bool early_crash = false;
bool early_sleep = false;
double cpu_time = 20;


static void use_some_cpu() {
   double j = 3.14159;
   int i, n = 0;
   for (i=0; i<20000000; i++) {
       n++;
       j *= n+j-3.14159;
       j /= (float)n;
   }
}

int do_checkpoint(MFILE& mf, int nchars) {
   int retval;
   string resolved_name;

   FILE* f = fopen("temp", "w");
   if (!f) return 1;
   fprintf(f, "%d", nchars);
   fclose(f);

   fprintf(stderr, "APP: upper_case checkpointing\n");

   retval = mf.flush();
   if (retval) return retval;
   boinc_resolve_filename_s(CHECKPOINT_FILE, resolved_name);
   retval = boinc_rename("temp", resolved_name.c_str());
   if (retval) return retval;

//use_some_cpu();
   fprintf(stderr, "APP: upper_case checkpoint done\n");
   return 0;
}


void worker() {
   int c, nchars = 0, retval, n;
   double fsize;
   char input_path[512], output_path[512], chkpt_path[512];
   MFILE out;
   FILE* state, *infile;

   // open the input file (resolve logical name first)
   //
   boinc_resolve_filename(INPUT_FILENAME, input_path, sizeof(input_path));
   infile = boinc_fopen(input_path, "r");
   if (!infile) {
       fprintf(stderr,
           "Couldn't find input file, resolved name %s.\n", input_path
       );
       exit(-1);
   }

   // get size of input file (used to compute fraction done)
   //
   file_size(input_path, fsize);

   // open output file
   //
   boinc_resolve_filename(OUTPUT_FILENAME, output_path, sizeof(output_path));

   // See if there's a valid checkpoint file.
   // If so seek input file and truncate output file
   //
   boinc_resolve_filename(CHECKPOINT_FILE, chkpt_path, sizeof(chkpt_path));
   state = boinc_fopen(chkpt_path, "r");
   if (state) {
       n = fscanf(state, "%d", &nchars);
       fclose(state);
   }
   if (state && n==1) {
       fseek(infile, nchars, SEEK_SET);
       boinc_truncate(output_path, nchars);
       retval = out.open(output_path, "a");
   } else {
       retval = out.open(output_path, "w");
   }
   if (retval) {
       fprintf(stderr, "APP: upper_case output open failed:\n");
       fprintf(stderr, "resolved name %s, retval %d\n", output_path, retval);
       perror("open");
       exit(1);
   }

   // main loop - read characters, convert to UC, write
   //
   for (int i=0; ; i++) {
       c = fgetc(infile);

       if (c == EOF) break;
       c = toupper(c);
       out._putchar(c);
       nchars++;
       if (run_slow) {
           boinc_sleep(1.);
       }

       if (early_exit && i>30) {
           exit(-10);
       }

       if (early_crash && i>30) {
#ifdef _WIN32
           DebugBreak();
#else
       *(int*)0 = 0;
#endif
       }
       if (early_sleep && i>30) {
g_sleep = true;
while (1) boinc_sleep(1);
}

       if (boinc_time_to_checkpoint()) {
           retval = do_checkpoint(out, nchars);
           if (retval) {
               fprintf(stderr, "APP: upper_case checkpoint failed %d\n", retval);
               exit(retval);
           }
           boinc_checkpoint_completed();
       }

       boinc_fraction_done(nchars/fsize);
   }

   retval = out.flush();
   if (retval) {
       fprintf(stderr, "APP: upper_case flush failed %d\n", retval);
       exit(1);
   }

   // burn up some CPU time if needed
   //
   if (cpu_time) {
       double start = dtime();
       while (1) {
           double e = dtime()-start;
           if (e > cpu_time) break;
           boinc_fraction_done(e/cpu_time);

if (boinc_time_to_checkpoint()) {
retval = do_checkpoint(out, nchars);
if (retval) {
fprintf(stderr, "APP: upper_case checkpoint failed %d\n", retval);
exit(1);
}
boinc_checkpoint_completed();
}

           use_some_cpu();
       }
   }
   boinc_finish(0);
}

int main(int argc, char **argv) {
   int i;
   int retval = 0;

   boinc_init_diagnostics(
       BOINC_DIAG_DUMPCALLSTACKENABLED |
       BOINC_DIAG_HEAPCHECKENABLED |
       BOINC_DIAG_MEMORYLEAKCHECKENABLED |
       BOINC_DIAG_TRACETOSTDERR |
       BOINC_DIAG_REDIRECTSTDERR
   );

   for (i=0; i<argc; i++) {
       if (!strcmp(argv[i], "-early_exit")) early_exit = true;
       if (!strcmp(argv[i], "-early_crash")) early_crash = true;
       if (!strcmp(argv[i], "-early_sleep")) early_sleep = true;
       if (!strcmp(argv[i], "-run_slow")) run_slow = true;
       if (!strcmp(argv[i], "-cpu_time")) {
           cpu_time = atof(argv[++i]);
       }
   }

#ifdef BOINC_APP_GRAPHICS
   //if (boinc_graphics_possible()) {
#if defined(_WIN32) || defined(__APPLE__)
       retval = boinc_init_graphics(worker);
#else
       retval = boinc_init_graphics_lib(worker, argv[0]);
#endif
       if (retval) exit(retval);
   //}
#endif

   retval = boinc_init();
   if (retval) exit(retval);
   worker();
}

#ifdef _WIN32
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR Args, int WinMode) {
   LPSTR command_line;
   char* argv[100];
   int argc;

   command_line = GetCommandLine();
   argc = parse_command_line( command_line, argv );
   return main(argc, argv);
}
#endif

const char *BOINC_RCSID_33ac47a071 = "$Id: upper_case.C,v 1.20 2007/02/21 20:04:14 davea Exp $";


?

nie sadze zeby to bylo az tak trywialne..
jak bede mial nieco wiecej czasu (dlugi weekend w maju? -> jak zwykle prosze o zawracanie glowy!) moze tez uderze przez skype do povaddicta, zeby mi udostepnil swoj kompilator, moze sie uda, bo koles sprawia wrazenie milego i pomocnego... na temat "co liczyc?" mailowalem z profesorkiem z PG, ktory stwierdzil, ze generalnie, nie brakuje im tyle mocy obliczeniowej, co chetnych by sie tym zajac... (projekt bylby o tematyce chemicznej (konkretnie zajalby sie samymi atomami, obliczenia na podstawie fizyki kwantowej) jednostki prawdopodobnie dlugosci jednej godziny, ok 1700 jednostek pojerdynczych by bylo... (czyli jak szacowalem, przeciagajac ten projekt jak najdluzej, pozyteczne rzeczy robilby przez jakies 3 tygodnie...)

kempler

No więc to chyba oficjalne. Projekt się zakończył.

Cytat: "PovAddict"
Project could be considered "retired"; for lack of time, motivation, and hosting.

http://www.boincstats.com/forum/forum_thread.php?id=2213

Kury Nas pogryzą, Raptory zeżrą....