Loading ...
Sorry, an error occurred while loading the content.

Too few cycles

Expand Messages
  • Torbjörn
    Hi! A couple of times the linear phase has been started looking for cycles, and in the end found too few cycles and terminated. By removing the .lp file and
    Message 1 of 6 , Mar 1, 2010
    • 0 Attachment
      Hi!

      A couple of times the linear phase has been started
      looking for cycles, and in the end found too few cycles
      and terminated. By removing the .lp file and updating
      the job.t0 etc files and restarting, it works OK.

      I wonder if the wonderful Python code could be enhanced
      so that this condition is picked up and sieving continues.

      I have done nearly 20 factorizations with the python version
      both snfs and gnfs and it otherwise works flawless.

      Torbjörn Alm
    • br_gladman
      ... Hi, I imagine this would be possible but I would need to know in a bit more detail: a) how to detect this exit condition and not others where moving to the
      Message 2 of 6 , Mar 1, 2010
      • 0 Attachment
        --- In ggnfs@yahoogroups.com, Torbjörn <talm@...> wrote:
        >
        > Hi!
        >
        > A couple of times the linear phase has been started
        > looking for cycles, and in the end found too few cycles
        > and terminated. By removing the .lp file and updating
        > the job.t0 etc files and restarting, it works OK.
        >
        > I wonder if the wonderful Python code could be enhanced
        > so that this condition is picked up and sieving continues.

        Hi,


        I imagine this would be possible but I would need to know in a bit more detail:

        a) how to detect this exit condition and not others where moving to the next step or termination is the right thing to do.

        b) exactly what stage of the process you are referring to so I can locate the step in the Python code that is involved (log file output would probably identify this).

        c) an exact definition of what needs to be done - i.e what files need to be deleted and in what way the job files need to be updated - i.e. what parameter changes, if any, are needed when this happens.

        I'll certainly have a look at it if you can suppl,y a bit more detail.

        > I have done nearly 20 factorizations with the python version
        > both snfs and gnfs and it otherwise works flawless.

        Thanks for the feedback, which is helpful as it shows that I am making progress in removing bugs :-)

        Brian
      • Jason Papadopoulos
        ... Are you referring to the filtering phase building a matrix which the linear algebra then destroys? Or the filtering phase building a matrix but the last
        Message 3 of 6 , Mar 1, 2010
        • 0 Attachment
          Quoting Torbjörn <talm@...>:

          > A couple of times the linear phase has been started
          > looking for cycles, and in the end found too few cycles
          > and terminated. By removing the .lp file and updating
          > the job.t0 etc files and restarting, it works OK.

          Are you referring to the filtering phase building a matrix which
          the linear algebra then destroys? Or the filtering phase building a
          matrix but the last part of the filtering saying that it found X
          cycles an needed Y, but X << Y? In either case, you have just barely
          too few relations, and a tiny bit of extra sieving will cause
          msieve to work normally.

          jasop

          ------------------------------------------------------
          This message was sent using BOO.net's Webmail.
          http://www.boo.net/
        • Jeff Gilchrist
          ... If Brian knows which stage this is happening for him and if there is a msieve error code that would let him distinguish this condition from a normal error,
          Message 4 of 6 , Mar 1, 2010
          • 0 Attachment
            On Mon, Mar 1, 2010 at 7:32 AM, Jason Papadopoulos <jasonp@...> wrote:

            > Are you referring to the filtering phase building a matrix which
            > the linear algebra then destroys? Or the filtering phase building a
            > matrix but the last part of the filtering saying that it found X
            > cycles an needed Y, but X << Y? In either case, you have just barely
            > too few relations, and a tiny bit of extra sieving will cause
            > msieve to work normally.

            If Brian knows which stage this is happening for him and if there is a
            msieve error code that would let him distinguish this condition from a
            normal error, then he can update the python script to automatically
            run another small batch of sieving and re-process with msieve so
            people don't have to manually intervene.

            Jeff.
          • br_gladman
            ... Right now the sieving step in pseudo code is while not os.path.exists(COLSNAME): run siever q0 += qstep if rels minrels run msieve -nc1 end_while run
            Message 5 of 6 , Mar 1, 2010
            • 0 Attachment
              --- In ggnfs@yahoogroups.com, Torbjörn <talm@...> wrote:
              >
              > Hi!
              >
              > A couple of times the linear phase has been started
              > looking for cycles, and in the end found too few cycles
              > and terminated. By removing the .lp file and updating
              > the job.t0 etc files and restarting, it works OK.
              >
              > I wonder if the wonderful Python code could be enhanced
              > so that this condition is picked up and sieving continues.
              >
              > I have done nearly 20 factorizations with the python version
              > both snfs and gnfs and it otherwise works flawless.
              >

              Right now the sieving step in pseudo code is

              while not os.path.exists(COLSNAME):
              run siever
              q0 += qstep
              if rels > minrels
              run msieve -nc1
              end_while
              run msieve -nc2

              Are you suggesting:

              loop
              while not os.path.exists(COLSNAME):
              run siever
              q0 += qstep
              if rels > minrels
              run msieve -nc1
              end_while
              run msieve -nc2
              if not error
              exit_loop
              q0 += qstep (or a fraction of qstep)
              delete COLSNAME
              next_loop

              Brian

              while error in msieve -nc2


              >
            • Torbjörn Alm
              I guess thar you are on the right track It has happened a few times, but it means that I have have to restart it manually and a lot of time is lost. One more
              Message 6 of 6 , Mar 1, 2010
              • 0 Attachment
                I guess thar you are on the right track
                It has happened a few times, but it means that I have have to restart it manually and a lot of time is lost.
                One more cycle has been sufficient to reach enough cycles.

                Torbjorn Alm





                br_gladman skrev 2010-03-01 15:36:
                 



                --- In ggnfs@yahoogroups. com, Torbjörn <talm@...> wrote:
                >
                > Hi!
                >
                > A couple of times the linear phase has been started
                > looking for cycles, and in the end found too few cycles
                > and terminated. By removing the .lp file and updating
                > the job.t0 etc files and restarting, it works OK.
                >
                > I wonder if the wonderful Python code could be enhanced
                > so that this condition is picked up and sieving continues.
                >
                > I have done nearly 20 factorizations with the python version
                > both snfs and gnfs and it otherwise works flawless.
                >

                Right now the sieving step in pseudo code is

                while not os.path.exists( COLSNAME) :
                run siever
                q0 += qstep
                if rels > minrels
                run msieve -nc1
                end_while
                run msieve -nc2

                Are you suggesting:

                loop
                while not os.path.exists( COLSNAME) :
                run siever
                q0 += qstep
                if rels > minrels
                run msieve -nc1
                end_while
                run msieve -nc2
                if not error
                exit_loop
                q0 += qstep (or a fraction of qstep)
                delete COLSNAME
                next_loop

                Brian

                while error in msieve -nc2

                >

                .
              Your message has been successfully submitted and would be delivered to recipients shortly.