User Tools

Site Tools


ms-20240504.cu

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ms-20240504.cu [2024/06/19 22:12] minoms-20240504.cu [2024/10/16 15:05] (current) mino
Line 20: Line 20:
   sys     0m0.272s   sys     0m0.272s
  
-== Note added on 2024.06.19 ==+== Note added on 2024.06.20 ==
  
-The function void LastCols( ) in the code contains the following doubtful comparison: +The function void LastCols( ) in the code contains the following questionable comparison: 
  
       psingl = psingl       psingl = psingl
                  or rev_max32_c == v2                  or rev_max32_c == v2
-   + 
-It should be replaced by+which should be replaced by
  
       psingl = psingl       psingl = psingl
                  or rev_max32_c == unsigned( v2 )                  or rev_max32_c == unsigned( v2 )
  
-because the upper 32 bits of v2 should be ignored in the comparison+because the upper 32 bits of v2 should be ignored when compared with the 32bit unsigned rev_max32_c
-However, this flaw is irrelevant to the validity of the result because this comparison is totally unnecessary for even N (including 6). The result of the comparison should be always false for even N, and omitting the cast never turns a false case into true. +However, this flaw is irrelevant to the validity of the result because this logical operation is totally unnecessary and has no effect for even N (including 6) because complements of any rows never appear as columns in even order magic squaresAnd for N < 6, the upper 32 bits of v2 are always 0s and the cast has no effect in any way.  
-For odd N, this flaw can be relevant, but for N < 6, upper 32 bits of v2 are always 0s and the cast has no effect in any way. You have to be careful if you want to use this code for N=7.+ 
 +This part of the code and other parts related to the self complemenarity check should be removed from functions MakeCols() and LastCols() in order to optimize the performance for N=6.  
 +We will gain 3% improvement of the performance by this optimization.
  
 <file cpp ms-20240504.cu> <file cpp ms-20240504.cu>
ms-20240504.cu.1718802778.txt.gz · Last modified: 2024/06/19 22:12 by mino

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki