Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
P parabix-devel
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 2
    • Merge requests 2
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cameron
  • parabix-devel
  • Issues
  • #77

Closed
Open
Created Mar 02, 2025 by cameron@cameronMaintainer

nfd SeparatedPipelineStages issue

On branch nfd-filter-first, (commit 80c7e4be) it appears that the ByteStream data is somehow being corrupted when passed from the input stage to the final stage. These results are the same on cs-osl-08 and Mac.

The following command unified pipeline produces correct output. The input file is attached.

bin/nfd Nt18091 -enable-illustrator >x0 2>ill0
hexdump -C x0
00000000  61 cc b4 e1 b3 94 f0 96  bf b0 62 0a              |a.........b.|
0000000c

The SeparatedPipelineStages option executed as follows produces incorrect output.

bin/nfd ../build16/Nt18091 -enable-illustrator -SeparatedPipelineStages=3 >x1 2>ill1
hexdump -C x1
00000000  00 cc b4 e1 b3 94 f0 96  bf b0 62 48              |..........bH|
0000000c

The illustrator comparison shows that the two versions mostly agree.

diff -y -W160 ill0 ill1
                                            BasisBits[4-7] | 6F9BBCBEB960     |	BasisBits[4-7] | 6F9BBCBEB960
                                            BasisBits[0-3] | 106F0C41342A     |	BasisBits[0-3] | 106F0C41342A
                                                   u8index | 1...1.1..111     |
                                  U8_Insertion_BixNum[0-3] | 000000000000     |	                 u8index | 1...1.1..111
                                   U8_Deletion_BixNum[0-2] | 000000000000     |	                  DT_Can | ............
                                                    DT_Can | ............     |	                   CCC_0 | 1.........11
                                                     CCC_0 | 1.........11     |	U8_Insertion_BixNum[0-3] | 000000000000
                                             NFD_WorkItems | ....1.1..11.     |	 U8_Deletion_BixNum[0-2] | 000000000000
                                         WorkSelectionMask | .1111111111.     |	           NFD_WorkItems | ....1.1..11.
                                           NonModifiedMask | 1..........1     |	       WorkSelectionMask | .1111111111.
                                               NonModified | a 		      |	           U8_FilterMask | 111111111111
                                             U8_FilterMask | 111111111111     |	       WorkingBasis[4-7] | F9BBCBEB96
                                         WorkingBasis[4-7] | F9BBCBEB96	      |	       WorkingBasis[0-3] | 06F0C41342
                                         WorkingBasis[0-3] | 06F0C41342	      |	           U8_SpreadMask | 111111111111
									      >	      ExpandedFilterMask | 111111111111
									      >	 U8_PostSpreadFilterMask | 111111111111
									      >	          WorkSpreadMask | .1111111111.
									      >	       WorkExpansionMask | .1111111111.
									      >	       WorkPlacementMask | .1111111111.
									      >	  FinalWorkPlacementMask | .1111111111.
									      >
                                      U21_u8indexed[20-21] | 0000000000		                                      U21_u8indexed[20-21] | 0000000000
                                      U21_u8indexed[16-19] | 0001000000		                                      U21_u8indexed[16-19] | 0001000000
                                      U21_u8indexed[12-15] | 0006000010		                                      U21_u8indexed[12-15] | 0006000010
                                       U21_u8indexed[8-11] | 000F0300C0		                                       U21_u8indexed[8-11] | 000F0300C0
                                        U21_u8indexed[4-7] | 000F0300D6		                                        U21_u8indexed[4-7] | 000F0300D6
                                        U21_u8indexed[0-3] | 0000040042		                                        U21_u8indexed[0-3] | 0000040042
                                            WorkingU8index | ...1.1..11		                                            WorkingU8index | ...1.1..11
                                          U21_focus[20-21] | 0000		                                          U21_focus[20-21] | 0000
                                          U21_focus[16-19] | 1000		                                          U21_focus[16-19] | 1000
                                          U21_focus[12-15] | 6010		                                          U21_focus[12-15] | 6010
                                           U21_focus[8-11] | F3C0		                                           U21_focus[8-11] | F3C0
                                            U21_focus[4-7] | F3D6		                                            U21_focus[4-7] | F3D6
                                            U21_focus[0-3] | 0442		                                            U21_focus[0-3] | 0442
                                 U21_Insertion_BixNum[0-2] | 0000		                                 U21_Insertion_BixNum[0-2] | 0000
                                             U8_SpreadMask | 111111111111     <
                                        ExpandedFilterMask | 111111111111     <
                                   U8_PostSpreadFilterMask | 111111111111     <
                                            WorkSpreadMask | .1111111111.     <
                                         WorkExpansionMask | .1111111111.     <
                                         WorkPlacementMask | .1111111111.     <
                                    FinalWorkPlacementMask | .1111111111.     <
                                  NonModifiedPlacementMask | 1..........1     <
                                            U21_SpreadMask | 1111		                                            U21_SpreadMask | 1111
                                  U21_ExpandedBasis[20-21] | 0000		                                  U21_ExpandedBasis[20-21] | 0000
                                  U21_ExpandedBasis[16-19] | 1000		                                  U21_ExpandedBasis[16-19] | 1000
                                  U21_ExpandedBasis[12-15] | 6010		                                  U21_ExpandedBasis[12-15] | 6010
                                   U21_ExpandedBasis[8-11] | F3C0		                                   U21_ExpandedBasis[8-11] | F3C0
                                    U21_ExpandedBasis[4-7] | F3D6		                                    U21_ExpandedBasis[4-7] | F3D6
                                    U21_ExpandedBasis[0-3] | 0442		                                    U21_ExpandedBasis[0-3] | 0442
                                         LIndexBixNum[4-5] | 0000		                                         LIndexBixNum[4-5] | 0000
                                         LIndexBixNum[0-3] | 0000		                                         LIndexBixNum[0-3] | 0000
                                         VIndexBixNum[4-5] | 0000		                                         VIndexBixNum[4-5] | 0000
                                         VIndexBixNum[0-3] | 0000		                                         VIndexBixNum[0-3] | 0000
                                         TIndexBixNum[4-5] | 0000		                                         TIndexBixNum[4-5] | 0000
                                         TIndexBixNum[0-3] | 0000		                                         TIndexBixNum[0-3] | 0000
                                   Hangul_NFD_Basis[20-21] | 0000		                                   Hangul_NFD_Basis[20-21] | 0000
                                   Hangul_NFD_Basis[16-19] | 1000		                                   Hangul_NFD_Basis[16-19] | 1000
                                   Hangul_NFD_Basis[12-15] | 6010		                                   Hangul_NFD_Basis[12-15] | 6010
                                    Hangul_NFD_Basis[8-11] | F3C0		                                    Hangul_NFD_Basis[8-11] | F3C0
                                     Hangul_NFD_Basis[4-7] | F3D6		                                     Hangul_NFD_Basis[4-7] | F3D6
                                     Hangul_NFD_Basis[0-3] | 0442		                                     Hangul_NFD_Basis[0-3] | 0442
                                          NFD_Basis[20-21] | 0000		                                          NFD_Basis[20-21] | 0000
                                          NFD_Basis[16-19] | 1000		                                          NFD_Basis[16-19] | 1000
                                          NFD_Basis[12-15] | 6010		                                          NFD_Basis[12-15] | 6010
                                           NFD_Basis[8-11] | F3C0		                                           NFD_Basis[8-11] | F3C0
                                            NFD_Basis[4-7] | F3D6		                                            NFD_Basis[4-7] | F3D6
                                            NFD_Basis[0-3] | 0442		                                            NFD_Basis[0-3] | 0442
                                            CCC_Basis[4-6] | 0000		                                            CCC_Basis[4-6] | 0000
                                            CCC_Basis[0-3] | 2110		                                            CCC_Basis[0-3] | 2110
                                               CCC_NonZero | 111.		                                               CCC_NonZero | 111.
                                             SeqIndex[0-3] | 0120		                                             SeqIndex[0-3] | 0120
                                                Misordered | ..1.		                                                Misordered | ..1.
                                              FilteredRuns | 111.		                                              FilteredRuns | 111.
                                        AdjustedIndex[0-3] | 1230		                                        AdjustedIndex[0-3] | 1230
     BitonicCompareStep<2,1>3x1_9x1+CMCompressed.SwapMarks | ..1.		     BitonicCompareStep<2,1>3x1_9x1+CMCompressed.SwapMarks | ..1.
         BitonicCompareStep<2,1>3x1_9x1+CMCompressed.Debug | ....		         BitonicCompareStep<2,1>3x1_9x1+CMCompressed.Debug | ....
                 SwapBack1_9x1+CMCompressed.Sorted[i][8-9] | 0000		                 SwapBack1_9x1+CMCompressed.Sorted[i][8-9] | 0000
                 SwapBack1_9x1+CMCompressed.Sorted[i][4-7] | 1000		                 SwapBack1_9x1+CMCompressed.Sorted[i][4-7] | 1000
                 SwapBack1_9x1+CMCompressed.Sorted[i][0-3] | 1BA0		                 SwapBack1_9x1+CMCompressed.Sorted[i][0-3] | 1BA0
BitonicCompareStep<4,2>3x1_9x1+CMCompressed.MergeSwapMarks | ..1.		BitonicCompareStep<4,2>3x1_9x1+CMCompressed.MergeSwapMarks | ..1.
        BitonicCompareStep<4,2>3x1_9x1+CMCompressed.Debug1 | ....		        BitonicCompareStep<4,2>3x1_9x1+CMCompressed.Debug1 | ....
              SwapBack1_21x1+CMCompressed.Sorted[i][20-21] | 0000		              SwapBack1_21x1+CMCompressed.Sorted[i][20-21] | 0000
              SwapBack1_21x1+CMCompressed.Sorted[i][16-19] | 1000		              SwapBack1_21x1+CMCompressed.Sorted[i][16-19] | 1000
              SwapBack1_21x1+CMCompressed.Sorted[i][12-15] | 6100		              SwapBack1_21x1+CMCompressed.Sorted[i][12-15] | 6100
               SwapBack1_21x1+CMCompressed.Sorted[i][8-11] | FC30		               SwapBack1_21x1+CMCompressed.Sorted[i][8-11] | FC30
                SwapBack1_21x1+CMCompressed.Sorted[i][4-7] | FD36		                SwapBack1_21x1+CMCompressed.Sorted[i][4-7] | FD36
                SwapBack1_21x1+CMCompressed.Sorted[i][0-3] | 0442		                SwapBack1_21x1+CMCompressed.Sorted[i][0-3] | 0442
                SwapBack2_9x1+CMCompressed.Merged[i]1[8-9] | 0000		                SwapBack2_9x1+CMCompressed.Merged[i]1[8-9] | 0000
                SwapBack2_9x1+CMCompressed.Merged[i]1[4-7] | 0010		                SwapBack2_9x1+CMCompressed.Merged[i]1[4-7] | 0010
                SwapBack2_9x1+CMCompressed.Merged[i]1[0-3] | AB10		                SwapBack2_9x1+CMCompressed.Merged[i]1[0-3] | AB10
BitonicCompareStep<4,1>3x1_9x1+CMCompressed.MergeSwapMarks | ....		BitonicCompareStep<4,1>3x1_9x1+CMCompressed.MergeSwapMarks | ....
         BitonicCompareStep<4,1>3x1_9x1+CMCompressed.Debug | ....		         BitonicCompareStep<4,1>3x1_9x1+CMCompressed.Debug | ....
             SwapBack2_21x1+CMCompressed.Merged[i]1[20-21] | 0000		             SwapBack2_21x1+CMCompressed.Merged[i]1[20-21] | 0000
             SwapBack2_21x1+CMCompressed.Merged[i]1[16-19] | 0010		             SwapBack2_21x1+CMCompressed.Merged[i]1[16-19] | 0010
             SwapBack2_21x1+CMCompressed.Merged[i]1[12-15] | 0160		             SwapBack2_21x1+CMCompressed.Merged[i]1[12-15] | 0160
              SwapBack2_21x1+CMCompressed.Merged[i]1[8-11] | 3CF0		              SwapBack2_21x1+CMCompressed.Merged[i]1[8-11] | 3CF0
               SwapBack2_21x1+CMCompressed.Merged[i]1[4-7] | 3DF6		               SwapBack2_21x1+CMCompressed.Merged[i]1[4-7] | 3DF6
               SwapBack2_21x1+CMCompressed.Merged[i]1[0-3] | 4402		               SwapBack2_21x1+CMCompressed.Merged[i]1[0-3] | 4402
                SwapBack1_9x1+CMCompressed.Merged[i]1[8-9] | 0000		                SwapBack1_9x1+CMCompressed.Merged[i]1[8-9] | 0000
                SwapBack1_9x1+CMCompressed.Merged[i]1[4-7] | 0010		                SwapBack1_9x1+CMCompressed.Merged[i]1[4-7] | 0010
                SwapBack1_9x1+CMCompressed.Merged[i]1[0-3] | AB10		                SwapBack1_9x1+CMCompressed.Merged[i]1[0-3] | AB10
     BitonicCompareStep<4,2>3x1_9x1+CMCompressed.SwapMarks | ....		     BitonicCompareStep<4,2>3x1_9x1+CMCompressed.SwapMarks | ....
        BitonicCompareStep<4,2>3x1_9x1+CMCompressed.Debug2 | ....		        BitonicCompareStep<4,2>3x1_9x1+CMCompressed.Debug2 | ....
             SwapBack1_21x1+CMCompressed.Merged[i]1[20-21] | 0000		             SwapBack1_21x1+CMCompressed.Merged[i]1[20-21] | 0000
             SwapBack1_21x1+CMCompressed.Merged[i]1[16-19] | 0010		             SwapBack1_21x1+CMCompressed.Merged[i]1[16-19] | 0010
             SwapBack1_21x1+CMCompressed.Merged[i]1[12-15] | 0160		             SwapBack1_21x1+CMCompressed.Merged[i]1[12-15] | 0160
              SwapBack1_21x1+CMCompressed.Merged[i]1[8-11] | 3CF0		              SwapBack1_21x1+CMCompressed.Merged[i]1[8-11] | 3CF0
               SwapBack1_21x1+CMCompressed.Merged[i]1[4-7] | 3DF6		               SwapBack1_21x1+CMCompressed.Merged[i]1[4-7] | 3DF6
               SwapBack1_21x1+CMCompressed.Merged[i]1[0-3] | 4402		               SwapBack1_21x1+CMCompressed.Merged[i]1[0-3] | 4402
                 SwapBack2_9x1+CMCompressed.Sorted[i][8-9] | 0000		                 SwapBack2_9x1+CMCompressed.Sorted[i][8-9] | 0000
                 SwapBack2_9x1+CMCompressed.Sorted[i][4-7] | 0010		                 SwapBack2_9x1+CMCompressed.Sorted[i][4-7] | 0010
                 SwapBack2_9x1+CMCompressed.Sorted[i][0-3] | AB10		                 SwapBack2_9x1+CMCompressed.Sorted[i][0-3] | AB10
BitonicCompareStep<8,4>3x1_9x1+CMCompressed.MergeSwapMarks | ....		BitonicCompareStep<8,4>3x1_9x1+CMCompressed.MergeSwapMarks | ....
         BitonicCompareStep<8,4>3x1_9x1+CMCompressed.Debug | ....		         BitonicCompareStep<8,4>3x1_9x1+CMCompressed.Debug | ....
              SwapBack2_21x1+CMCompressed.Sorted[i][20-21] | 0000		              SwapBack2_21x1+CMCompressed.Sorted[i][20-21] | 0000
              SwapBack2_21x1+CMCompressed.Sorted[i][16-19] | 0010		              SwapBack2_21x1+CMCompressed.Sorted[i][16-19] | 0010
              SwapBack2_21x1+CMCompressed.Sorted[i][12-15] | 0160		              SwapBack2_21x1+CMCompressed.Sorted[i][12-15] | 0160
               SwapBack2_21x1+CMCompressed.Sorted[i][8-11] | 3CF0		               SwapBack2_21x1+CMCompressed.Sorted[i][8-11] | 3CF0
                SwapBack2_21x1+CMCompressed.Sorted[i][4-7] | 3DF6		                SwapBack2_21x1+CMCompressed.Sorted[i][4-7] | 3DF6
                SwapBack2_21x1+CMCompressed.Sorted[i][0-3] | 4402		                SwapBack2_21x1+CMCompressed.Sorted[i][0-3] | 4402
                 SwapBack4_9x1+CMCompressed.Merged[i][8-9] | 0000		                 SwapBack4_9x1+CMCompressed.Merged[i][8-9] | 0000
                 SwapBack4_9x1+CMCompressed.Merged[i][4-7] | 0010		                 SwapBack4_9x1+CMCompressed.Merged[i][4-7] | 0010
                 SwapBack4_9x1+CMCompressed.Merged[i][0-3] | AB10		                 SwapBack4_9x1+CMCompressed.Merged[i][0-3] | AB10
BitonicCompareStep<8,2>3x1_9x1+CMCompressed.MergeSwapMarks | ....		BitonicCompareStep<8,2>3x1_9x1+CMCompressed.MergeSwapMarks | ....
         BitonicCompareStep<8,2>3x1_9x1+CMCompressed.Debug | ....		         BitonicCompareStep<8,2>3x1_9x1+CMCompressed.Debug | ....
              SwapBack4_21x1+CMCompressed.Merged[i][20-21] | 0000		              SwapBack4_21x1+CMCompressed.Merged[i][20-21] | 0000
              SwapBack4_21x1+CMCompressed.Merged[i][16-19] | 0010		              SwapBack4_21x1+CMCompressed.Merged[i][16-19] | 0010
              SwapBack4_21x1+CMCompressed.Merged[i][12-15] | 0160		              SwapBack4_21x1+CMCompressed.Merged[i][12-15] | 0160
               SwapBack4_21x1+CMCompressed.Merged[i][8-11] | 3CF0		               SwapBack4_21x1+CMCompressed.Merged[i][8-11] | 3CF0
                SwapBack4_21x1+CMCompressed.Merged[i][4-7] | 3DF6		                SwapBack4_21x1+CMCompressed.Merged[i][4-7] | 3DF6
                SwapBack4_21x1+CMCompressed.Merged[i][0-3] | 4402		                SwapBack4_21x1+CMCompressed.Merged[i][0-3] | 4402
                SwapBack2_9x1+CMCompressed.Merged[i]2[8-9] | 0000		                SwapBack2_9x1+CMCompressed.Merged[i]2[8-9] | 0000
                SwapBack2_9x1+CMCompressed.Merged[i]2[4-7] | 0010		                SwapBack2_9x1+CMCompressed.Merged[i]2[4-7] | 0010
                SwapBack2_9x1+CMCompressed.Merged[i]2[0-3] | AB10		                SwapBack2_9x1+CMCompressed.Merged[i]2[0-3] | AB10
BitonicCompareStep<8,1>3x1_9x1+CMCompressed.MergeSwapMarks | ....		BitonicCompareStep<8,1>3x1_9x1+CMCompressed.MergeSwapMarks | ....
         BitonicCompareStep<8,1>3x1_9x1+CMCompressed.Debug | ....		         BitonicCompareStep<8,1>3x1_9x1+CMCompressed.Debug | ....
             SwapBack2_21x1+CMCompressed.Merged[i]2[20-21] | 0000		             SwapBack2_21x1+CMCompressed.Merged[i]2[20-21] | 0000
             SwapBack2_21x1+CMCompressed.Merged[i]2[16-19] | 0010		             SwapBack2_21x1+CMCompressed.Merged[i]2[16-19] | 0010
             SwapBack2_21x1+CMCompressed.Merged[i]2[12-15] | 0160		             SwapBack2_21x1+CMCompressed.Merged[i]2[12-15] | 0160
              SwapBack2_21x1+CMCompressed.Merged[i]2[8-11] | 3CF0		              SwapBack2_21x1+CMCompressed.Merged[i]2[8-11] | 3CF0
               SwapBack2_21x1+CMCompressed.Merged[i]2[4-7] | 3DF6		               SwapBack2_21x1+CMCompressed.Merged[i]2[4-7] | 3DF6
               SwapBack2_21x1+CMCompressed.Merged[i]2[0-3] | 4402		               SwapBack2_21x1+CMCompressed.Merged[i]2[0-3] | 4402
									      >	                SwapBack1_9x1+CMCompressed.Merged[i]2[8-9] | 0000
									      >	                SwapBack1_9x1+CMCompressed.Merged[i]2[4-7] | 0010
									      >	                SwapBack1_9x1+CMCompressed.Merged[i]2[0-3] | AB10
									      >	                                       SortResults[0][8-9] | 0000
									      >	                                       SortResults[0][4-7] | 0010
									      >	                                       SortResults[0][0-3] | AB10
             SwapBack1_21x1+CMCompressed.Merged[i]2[20-21] | 0000		             SwapBack1_21x1+CMCompressed.Merged[i]2[20-21] | 0000
             SwapBack1_21x1+CMCompressed.Merged[i]2[16-19] | 0010		             SwapBack1_21x1+CMCompressed.Merged[i]2[16-19] | 0010
             SwapBack1_21x1+CMCompressed.Merged[i]2[12-15] | 0160		             SwapBack1_21x1+CMCompressed.Merged[i]2[12-15] | 0160
              SwapBack1_21x1+CMCompressed.Merged[i]2[8-11] | 3CF0		              SwapBack1_21x1+CMCompressed.Merged[i]2[8-11] | 3CF0
               SwapBack1_21x1+CMCompressed.Merged[i]2[4-7] | 3DF6		               SwapBack1_21x1+CMCompressed.Merged[i]2[4-7] | 3DF6
               SwapBack1_21x1+CMCompressed.Merged[i]2[0-3] | 4402		               SwapBack1_21x1+CMCompressed.Merged[i]2[0-3] | 4402
                                     SortResults[1][20-21] | 0000		                                     SortResults[1][20-21] | 0000
                                     SortResults[1][16-19] | 0010		                                     SortResults[1][16-19] | 0010
                                     SortResults[1][12-15] | 0160		                                     SortResults[1][12-15] | 0160
                                      SortResults[1][8-11] | 3CF0		                                      SortResults[1][8-11] | 3CF0
                                       SortResults[1][4-7] | 3DF6		                                       SortResults[1][4-7] | 3DF6
                                       SortResults[1][0-3] | 4402		                                       SortResults[1][0-3] | 4402
                                     TransformedBasis[4-7] | CBEB9F9BB6		                                     TransformedBasis[4-7] | CBEB9F9BB6
                                     TransformedBasis[0-3] | C413406F02		                                     TransformedBasis[0-3] | C413406F02
                SwapBack1_9x1+CMCompressed.Merged[i]2[8-9] | 0000	      |
                SwapBack1_9x1+CMCompressed.Merged[i]2[4-7] | 0010	      |	         NonModifiedMask | 1..........1
                SwapBack1_9x1+CMCompressed.Merged[i]2[0-3] | AB10	      |	             NonModified | .H
                                       SortResults[0][8-9] | 0000	      |	NonModifiedPlacementMask | 1..........1
                                       SortResults[0][4-7] | 0010	      <
                                       SortResults[0][0-3] | AB10	      <

Nt18091

Edited Mar 02, 2025 by cameron
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking