Ignore:
Timestamp:
May 6, 2016, 3:06:29 PM (8 years ago)
Author:
meunier
Message:
  • Added several versions of rosenfeld: { SLOW, FAST } x { FEATURES, NO_FEATURES }
  • Added native linux compilation support
  • Added a script to check results natively
  • Started to refactor nrc code
File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/applications/rosenfeld/include/ecc_features.h

    r772 r821  
    1616#define __ECC_FEATURES_H__
    1717
    18 #ifdef __cplusplus
    19 extern "C" {
    20 #endif
    21 
    22 #ifdef VERBOSE_PRAGMA
    23 //#pragma message("- include ecc_features.h")
    24 #endif
    25 
    26 #define REGION_STATS1
    27 
    28 //#define REGION_STATS2
    29 //#define REGION_STATS3
    30 //#define REGION_STATS4
    31 
    32 #define Warning
    33 #define Error
     18#if PARMERGE
     19#include <pthread.h>
     20#endif
     21
    3422
    3523// ------------------------------------------------------------------------
     
    4634  uint32  S;
    4735
    48   uint16  x;       // abscisse du centre d'inertie x = Sx / S
    49   uint16  y;       // ordonnee du centre d'inertie y = Sy / S
    50 
    5136  uint32  Sx;
    5237  uint32  Sy;
    53 
    54 #ifdef REGION_STATS2
    55   //uint64  Sx2;
    56   //uint64  Sxy;
    57   //uint64  Sy2;
    58 
    59   //uint32  Mx2;
    60   //uint32  Mxy;
    61   //uint32  My2;
    62 
    63   double teta; // direction principale
    64 #endif
    65 
    66 #ifdef REGION_STATS3
    67   //uint64  Sx3;
    68   //uint64  Sx2y;
    69   //uint64  Sxy2;
    70   //uint64  Sy3;
    71 
    72   //uint64  Mx3;
    73   //uint64  Mx2y;
    74   //uint64  Mxy2;
    75   //uint64  My3;
    76 #endif
     38#if PARMERGE
     39  pthread_spinlock_t lock;
     40#endif
     41
    7742} RegionStats;
    7843
     
    11277 */
    11378
     79
     80
    11481/* ------------------------------ */
    11582/* --- RegionStats after 2009 --- */
     
    11885
    11986RegionStats* RegionStatsVector                 (int i0, int i1);
     87#if TARGET_OS == GIETVM
     88RegionStats * remote_RegionStatsVector         (int i0, int i1, int x, int y);
     89#endif
    12090RegionStats* RegionStatsVector0                (int i0, int i1);
    12191void    free_RegionStatsVector (RegionStats *v, int i0, int i1);
     
    219189   
    220190void RegionStats_Save_Stats1_Sparse(RegionStats *Stats, uint32 *EQ, uint32 ne0, uint32 ne1, char *filename);
    221 void RegionStats_DisplayStats_Sparse(uint32 *EQ, uint32 ne0, uint32 ne1, RegionStats *Stats, char *name);
     191void RegionStats_DisplayStats_Sparse(uint32 *EQ, uint32 ne0, uint32 ne1, RegionStats *Stats, char *name, int * start_index);
    222192// affichage des Stats pour les etiquettes roots/ancetres de leur composante (pour algo Suzuki)
    223193
     
    235205void sortv_ui32matrix_col(uint32 **m, int i0, int i1, int j0, int j1, int col);
    236206void RegionStats_SortFeatures(RegionStats *Stats, uint32 nemax);
    237    
    238 // version paralleles avec OpenMP2 ou OpenMP4
    239 void imageFeaturesComputation_omp0(uint32 **E, int height, int width, RegionStats *Stats); // wrong
    240 void imageFeaturesComputation_omp2(uint32 **E, int height, int width, RegionStats *Stats); // OpenMP 2.0 critical
    241 void imageFeaturesComputation_omp3(uint32 **E, int height, int width, RegionStats *Stats); // OpenMP 2.0 critical + atomic
    242 void imageFeaturesComputation_omp4(uint32 **E, int height, int width, RegionStats *Stats); // OpenMP 3.0 task + OpenMP 4.0 depend
    243 void imageFeaturesComputation_omp5(uint32 **E, int height, int width, uint16* Xmin, uint16* Xmax, uint16* Ymin, uint16* Ymax, uint32* S, uint32* Sx, uint32* Sy);
    244    
     207
    245208int RegionStats_Compare(RegionStats *S1, RegionStats *S2);
    246209int RegionStatsVector_Compare(RegionStats *S1, int i0, int i1, RegionStats *S2);
Note: See TracChangeset for help on using the changeset viewer.