Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Hardware
  3. CPU & Overclock
  4. Prime Cores V1.0 Freeware

Prime Cores V1.0 Freeware

Pianificato Fissato Bloccato Spostato CPU & Overclock
438 Post 0 Autori 40.9k Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • X Non in linea
    X Non in linea
    Xstreme
    scritto su ultima modifica di
    #388

    Totocellux ha scritto:

    non ho dubbi su questo calcolo: proprio venendo al discorso della tua limitazione, mi riferivo al fatto che lui abbia di per sé una conf davvero invidiabile e costosa e ..... riesca nonostante ciò a lamentarsene :asd:

    Tornando al discorso matematico, ovviamente hai già idea di come applicare al problema precedente l'utilità del metodo dello splitting binario!?! :)

     
    #include 
    #include "general.h"
    #include "Complex.h"
    #include "BigInt.h"
    real MaxError;
    real *LongNum1=NULL, *LongNum2=NULL;
    extern void RealFFT(real*, ulong, int);
    
    void FastMulInit(ulong Len) {
    ulong MaxLen;
    if ((Len & -Len) == Len)
    MaxLen = Len;
    else {
    MaxLen = 2;
    do MaxLen*=2; while (MaxLen  C.SizeMax ) Len=C.SizeMax;
    MaxError = 0;
    for (x = 0; x  MaxError)
    MaxError = PyramidError;
    Carry = floor(Pyramid / BASE);
    c[x] = (short)(Pyramid - Carry * BASE);
    }
    do { x--; } while (c[x]==0); 
    C.Size = x+1;
    }
    
    void RealFFTScalar(real *LongNum1, const real *LongNum2, ulong Len) {
    Complex *CF1=(Complex*)LongNum1;
    const Complex *CF2=(Complex*)LongNum2;
    LongNum1[0] = LongNum1[0] * LongNum2[0];
    LongNum1[1] = LongNum1[1] * LongNum2[1];
    for (ulong x = 1; x 
    

    questo è un moltiplicatore FFT

     
    void CarryNormalize(real *Convolution, ulong Len, BigInt &C) {
    real inv = 0.5 / Len;
    real RawPyramid, Pyramid, PyramidError, Carry = 0;
    ulong x;
    ushort *c = C.Coef;
    if ( Len > C.SizeMax ) Len=C.SizeMax;
    MaxError = 0;
    for (x = 0; x  MaxError)
    MaxError = PyramidError;
    Carry = floor(Pyramid / BASE);
    c[x] = (short)(Pyramid - Carry * BASE);
    }
    do { x--; } while (c[x]==0); 
    C.Size = x+1;
    }
    
    
    void FHTConvolution(real *LongNum1, const real *LongNum2, ulong Len) {
    ulong Step=2, Step2=Step*2;
    ulong x,y;
    LongNum1[0]   = LongNum1[0] * 2.0 * LongNum2[0];
    LongNum1[1]   = LongNum1[1] * 2.0 * LongNum2[1];
    while (Step 
    

    questa è la routine di splitting binario

    o convoluzione, che in base ad una certa

    ampiezza mi taglia porzioni di frequenza,

    tipo fare una torta a fette identiche con due coltelli ed entrambe le mani :uglystupid2:

    1 Risposta Ultima Risposta
    0
    • T Non in linea
      T Non in linea
      Totocellux
      scritto su ultima modifica di
      #389

      bonis62 ha scritto:

      [..........]

       
      void CarryNormalize(real *Convolution, ulong Len, BigInt &C) {
      [color=Red][b]real inv = 0.5 / Len[/b][/color];
      real RawPyramid, Pyramid, PyramidError, Carry = 0;
      ulong x;
      ushort *c = C.Coef;
      if ( Len > C.SizeMax ) Len=C.SizeMax;
      MaxError = 0;
      for (x = 0; x  MaxError)
      MaxError = PyramidError;
      Carry = floor(Pyramid / BASE);
      c[x] = (short)(Pyramid - Carry * BASE);
      }
      do { x--; } while (c[x]==0); 
      C.Size = x+1;
      }
      
      
      void FHTConvolution(real *LongNum1, const real *LongNum2, ulong Len) {
      ulong Step=2, Step2=Step*2;
      ulong x,y;
      LongNum1[0]   = LongNum1[0] * 2.0 * LongNum2[0];
      LongNum1[1]   = LongNum1[1] * 2.0 * LongNum2[1];
      while (Step 
      

      questa è la routine di splitting binario

      o convoluzione, che in base ad una certa

      ampiezza mi taglia porzioni di frequenza,

      tipo fare una torta a fette identiche con due coltelli ed entrambe le mani :uglystupid2:

      immagino che il valore di quel real inv sia dovuto a:

      real inv = 1/(len/2)

      Ammetto che per seguirti devo accelerare un pò :asd:

      Quello che non riesco ancora a correlare, è in che modo potrai fare utilizzo dei valori di signalling NaNs, perchè non credo che esista una funzione apposita.

      Quindi, constatando che stai proseguendo speditamente, immagino tu abbia già qualcosa in pentola?! :)

      Per conto mio ho scovato qualcosa che potrebbe esserti d'aiuto ...... con parte di codice in assembler (che non guasta mai :asd:)

      void main()
      {
      double a, b, c;
      a*=7;        // Exactly the same as it is now, a is nan.
      enableExceptions();
      c = 6;      // ok, c is initialized now
      c *= 10;
      b *= 10;    // BANG ! Straight into the debugger
      b *= 5;
      disableExceptions();
      }
      void enableExceptions() {
      version(D_InlineAsm_X86) {
      short cont;
      asm {
      fclex;
      fstcw cont;
      mov AX, cont;
      and AX, 0xFFFE; // enable invalid exception
      mov cont, AX;
      fldcw cont;
      }
      }
      }
      void disableExceptions() {
      version(D_InlineAsm_X86) {
      short cont;
      asm {
      fclex;
      fstcw cont;
      mov AX, cont;
      or AX, 0x1; // disable invalid exception
      mov cont, AX;
      fldcw cont;
      }
      }
      }
      
      
      1 Risposta Ultima Risposta
      0
      • X Non in linea
        X Non in linea
        Xstreme
        scritto su ultima modifica di
        #390

        Totocellux ha scritto:

        immagino che il valore di quel real inv sia dovuto a:

        real inv = 1/(len/2)

        Ammetto che per seguirti devo accelerare un pò :asd:

        Quello che non riesco ancora a correlare, è in che modo potrai fare utilizzo dei valori di signalling NaNs, perchè non credo che esista una funzione apposita.

        Quindi, constatando che stai proseguendo speditamente, immagino tu abbia già qualcosa in pentola?! :)

        Per conto mio ho scovato qualcosa che potrebbe esserti d'aiuto ...... con parte di codice in assembler (che non guasta mai :asd:)

        void main()
        {
        double a, b, c;
        a*=7;        // Exactly the same as it is now, a is nan.
        enableExceptions();
        c = 6;      // ok, c is initialized now
        c *= 10;
        b *= 10;    // BANG ! Straight into the debugger
        b *= 5;
        disableExceptions();
        }
        void enableExceptions() {
        version(D_InlineAsm_X86) {
        short cont;
        asm {
        fclex;
        fstcw cont;
        mov AX, cont;
        and AX, 0xFFFE; // enable invalid exception
        mov cont, AX;
        fldcw cont;
        }
        }
        }
        void disableExceptions() {
        version(D_InlineAsm_X86) {
        short cont;
        asm {
        fclex;
        fstcw cont;
        mov AX, cont;
        or AX, 0x1; // disable invalid exception
        mov cont, AX;
        fldcw cont;
        }
        }
        }
        
        

        m,anca il registro BX

        senza il registro BX

        AX e inutilizzabile :)

        :leggi: NAN :leggi:

         
        #include 
        #include "mex.h"
        void 
        mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
        {
        int i, n;
        double *pr, *pi;
        double inf, nan;
        
        /* Check for proper number of input and output arguments */ 
        if (nrhs != 1) {
        mexErrMsgTxt("One input argument required.");
        } 
        if(nlhs > 1){
        mexErrMsgTxt("Too many output arguments.");
        }
        
        /* Check data type of input argument */
        if (!mxIsDouble(prhs[0]) || mxIsComplex(prhs[0])) {
        mexErrMsgTxt("Input argument must be of type real double.");
        } 
        
        /* Duplicate input array */
        plhs[0]=mxDuplicateArray(prhs[0]);
        
        pr = mxGetPr(plhs[0]);
        pi = mxGetPi(plhs[0]);
        n = mxGetNumberOfElements(plhs[0]);
        inf = mxGetInf();
        nan=mxGetNaN();
        /* Check for 0, in real part of data, if the data is zero, replace
        with NaN. Also check for INT_MAX and INT_MIN and replace with
        INF/-INF respectively. */
        for(i=0; i = INT_MAX){
        pr[i]=inf;
        }
        else if (pr[i]
        
        1 Risposta Ultima Risposta
        0
        • T Non in linea
          T Non in linea
          Totocellux
          scritto su ultima modifica di
          #391

          bonis62 ha scritto:

          m,anca il registro BX

          senza il registro BX

          AX e inutilizzabile :)

          [..........]

          beh, ma quella dovrebbe essere semplicemente una parte della routine: al momento di ampliarla ed avere la necessità di utilizzare un offset o un indice non mancherebbe certo a te usare proficuamente BX come registro! :)

          1 Risposta Ultima Risposta
          0
          • X Non in linea
            X Non in linea
            Xstreme
            scritto su ultima modifica di
            #392

            Totocellux ha scritto:

            beh, ma quella dovrebbe essere semplicemente una parte della routine: al momento di ampliarla ed avere la necessità di utilizzare un offset o un indice non mancherebbe certo a te usare proficuamente BX come registro! :)

            certo ,

            comunque è un registro implicito,

            cioè ax contiene sempre la metà di bx ...o l'inverso ? :muro:

            non mi ricordo piu !!! :muro:..la vecchiaia....!!! :asd:

            NOTA:

            mettendo più a fuoco....

            Quanti lustri ha quel codice ? sembra roba epoca " 1000 spartani" :)

            anche se devo dire che l'idea non e malaccio , anche se ....spartana .... :asd::asd::asd::asd:

            1 Risposta Ultima Risposta
            0
            • T Non in linea
              T Non in linea
              Totocellux
              scritto su ultima modifica di
              #393

              bonis62 ha scritto:

              [...........]

              NOTA:

              mettendo più a fuoco....

              Quanti lustri ha quel codice ? sembra roba epoca " 1000 spartani" :)

              anche se devo dire che l'idea non e malaccio , anche se ....spartana .... :asd::asd::asd::asd:

              il concetto di sicuro non è recente, il codice non saprei dirti.

              L'ho scovato su:

              Dobbs Code Talk

              Il tizio non è certamente il primo arrivato nel codificare in assembly: si chiama Walter Bright.

              Dico questo perchè mi risulta che in passato abbia coadiuvato la Boeing inerentemente ai progetti degli apparati del controllo di volo di diversi aeroplani :AAAAH:

              Considero quasi scontato il fatto che ci si possa ciecamente fidare :asd:

              1 Risposta Ultima Risposta
              0
              • X Non in linea
                X Non in linea
                Xstreme
                scritto su ultima modifica di
                #394

                Totocellux ha scritto:

                il concetto di sicuro non è recente, il codice non saprei dirti.

                L'ho scovato su:

                Dobbs Code Talk

                Il tizio non è certamente il primo arrivato nel codificare in assembly: si chiama Walter Bright.

                Dico questo perchè mi risulta che in passato abbia coadiuvato la Boeing inerentemente ai progetti degli apparati del controllo di volo di diversi aeroplani :AAAAH:

                Considero quasi scontato il fatto che ci si possa ciecamente fidare :asd:

                ah...lui ?

                guarda questo... mi ha sempre fatto morire sto video.... :asd:

                [video=google;-7073020265668105471]http://video.google.com/videoplay?docid=-7073020265668105471&q=walter+bright&total=45&start=0&num=10&so=0&type=search&plindex=0 #

                1 Risposta Ultima Risposta
                0
                • T Non in linea
                  T Non in linea
                  Totocellux
                  scritto su ultima modifica di
                  #395

                  bonis62 ha scritto:

                  ah...lui ?

                  guarda questo... mi ha sempre fatto morire sto video.... :asd:

                  Walter Bright @ NWCPP: Advanced D Programming Language Features#

                  :asd:

                  si, è lui :D

                  1 Risposta Ultima Risposta
                  0
                  • X Non in linea
                    X Non in linea
                    Xstreme
                    scritto su ultima modifica di
                    #396

                    Totocellux ha scritto:

                    :asd:

                    si, è lui :D

                    come dicevo...un pò spartano.... ma bravo :)

                    se vuoi approfondire l'argomento sul D

                    reputo questo sito eccellente : (5 stelle)

                    Useless Software

                    1 Risposta Ultima Risposta
                    0
                    • T Non in linea
                      T Non in linea
                      Totocellux
                      scritto su ultima modifica di
                      #397

                      bonis62 ha scritto:

                      come dicevo...un pò spartano.... ma bravo :)

                      [..........]

                      ..... soltanto?!

                      Comunque, direi che dovresti metterti sotto a lavorare: c'è ancora quel 6.x% di efficienza da racimolare nei confronti dell'uomo dai 4TB di appoggio :asd:

                      Rammenta che lui ha solo il Visual C, mentre hai dalla tua parte il signor Assembly :D

                      1 Risposta Ultima Risposta
                      0
                      • X Non in linea
                        X Non in linea
                        Xstreme
                        scritto su ultima modifica di
                        #398

                        pc4beta.jpg

                        PrimeCores Updates

                        PrimeCores 2010 V 4.0.0 32Bit Diagnostic Benchmark Beta 2 - Release Date : 02/2010

                        Developer : Cristoforo Bonissone

                        In V. 4.0.0 Beta2 math routines has been completely rewritten.

                        In V. 4.0.0 Beta2 the routines are optimized for 32-bit system. (64Bit incoming soon)

                        In V. 4.0.0 Beta2 now supports real 8 cores (no longer uses virtual cores) completely user-selectables

                        In V. 4.0.0 (Final Version) will be reactivates the Save and Publication functions

                        In V. 4.0.0 (Final Version) will add a screen capture function

                        In V. 4.0.0 (Final Version) will be reactivates the System Information function

                        1 Risposta Ultima Risposta
                        0
                        • T Non in linea
                          T Non in linea
                          Totocellux
                          scritto su ultima modifica di
                          #399

                          molto più snello :)

                          Tutto OK O0

                          il solito [email protected]

                          i46040_primecores-v4.0.0-beta2.jpg

                          1 Risposta Ultima Risposta
                          0
                          • G Non in linea
                            G Non in linea
                            gear667
                            scritto su ultima modifica di
                            #400

                            i46044_primecores4beta.jpg

                            quoto Totocellux. Se non erro questo è solo un tool per la verifica dei vari core e non un bench vero e proprio, o sbaglio?

                            1 Risposta Ultima Risposta
                            0
                            • X Non in linea
                              X Non in linea
                              Xstreme
                              scritto su ultima modifica di
                              #401

                              Ho cercato di inserire tutte le combinazioni possibili, se qualcuno intercetta qualche combinazione

                              non presente o non corretta, è pregato di segnalarmi in modo esatto la combinazione che manca o

                              che non funziona come dovuto, grazie :)

                              1 Risposta Ultima Risposta
                              0
                              • X Non in linea
                                X Non in linea
                                Xstreme
                                scritto su ultima modifica di
                                #402

                                pc4preview.jpg

                                una immagine della versione in lavorazione...

                                1 Risposta Ultima Risposta
                                0
                                • X Non in linea
                                  X Non in linea
                                  Xstreme
                                  scritto su ultima modifica di
                                  #403

                                  Per favore, mi fate un veloce giro di beta testing ?

                                  grazieee

                                  http://www.xstreme.it/PrimeCores4_Beta3.zip

                                  :D

                                  1 Risposta Ultima Risposta
                                  0
                                  • A Non in linea
                                    A Non in linea
                                    apix_1024
                                    scritto su ultima modifica di
                                    #404

                                    bonis62 ha scritto:

                                    Per favore, mi fate un veloce giro di beta testing ?

                                    grazieee

                                    http://www.xstreme.it/PrimeCores4_Beta3.zip

                                    :D

                                    oggi sono a casa. appena finisce il conto che sta girando con ansys farò un pò di giri di prova su questa versione!!O0

                                    1 Risposta Ultima Risposta
                                    0
                                    • X Non in linea
                                      X Non in linea
                                      Xstreme
                                      scritto su ultima modifica di
                                      #405

                                      PrimeCores V4.0.0 Beta3

                                      screen40.jpg

                                      *

                                      1 Risposta Ultima Risposta
                                      0
                                      • T Non in linea
                                        T Non in linea
                                        Totocellux
                                        scritto su ultima modifica di
                                        #406

                                        sembra tutto OK O0

                                        a parte che non rileva la corretta velocità della cpu, seppur azzeccando quella del bus speed.

                                        PI:

                                        i46662_primecores-v4.0.0-beta3-pi.jpg

                                        Primi:

                                        i46663_primecores-v4.0.0-beta3-primi.jpg

                                        FP:

                                        i46664_primecores-v4.0.0-beta3-fp.jpg

                                        1 Risposta Ultima Risposta
                                        0
                                        • G Non in linea
                                          G Non in linea
                                          gear667
                                          scritto su ultima modifica di
                                          #407

                                          i46665_primecores-4beta.jpg

                                          adesso faccio anche gli altri 2 test

                                          prime

                                          t46666_primecores4prob.jpg

                                          F.P.

                                          t46666_primecores4prob.jpg

                                          come si vede nel task manager funziona a pieno carico 1 solo degli 8 core a disposizione (4fisici+4HT). Inoltre ho notato che nel programma non posso selezionare il core numero 8 dalla lista. Se ho segnalato cavolate fatemelo sapere che edito:)

                                          1 Risposta Ultima Risposta
                                          0

                                          Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                                          Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                                          Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                                          Registrati Accedi
                                          Rispondi
                                          • Risposta alla discussione
                                          Effettua l'accesso per rispondere
                                          • Da Vecchi a Nuovi
                                          • Da Nuovi a Vecchi
                                          • Più Voti


                                          • Accedi

                                          • Non hai un account? Registrati

                                          • Accedi o registrati per effettuare la ricerca.
                                          Powered by NodeBB Contributors
                                          • Primo post
                                            Ultimo post
                                          0
                                          • Categorie
                                          • Recenti
                                          • Tag
                                          • Popolare
                                          • Utenti
                                          • Gruppi