Skip to content
Snippets Groups Projects
Select Git revision
  • f0f0b9f0ef4da0427debae3dbf904f80c8eabfc9
  • main default protected
  • Kelvinrr-patch-3
  • radius_update
  • revert-616-apollo_pan
  • vims
  • 0.10
  • Kelvinrr-patch-2
  • revert-563-minirf_fix
  • Kelvinrr-patch-1
  • 0.9
  • acpaquette-patch-3
  • acpaquette-patch-2
  • acpaquette-patch-1
  • spiceql
  • ci-coverage
  • 0.10.0
  • 0.9.1
  • 0.9.0
  • 0.8.7
  • 0.8.8
  • 0.8.6
  • 0.8.3
  • 0.8.4
  • 0.8.5
  • 0.8.2
  • 0.8.1
  • 0.8.0
  • 0.7.3
  • 0.7.2
  • 0.7.1
  • 0.7.0
  • 0.6.5
  • 0.6.4
  • 0.6.3
  • 0.6.2
36 results

dawn_driver.rst

Blame
    • acpaquette's avatar
      f0f0b9f0
      Docs! (#365) · f0f0b9f0
      acpaquette authored
      * File renames
      
      * Small spacing consistencies for doc strings
      
      * Fixes doc build warnings for lro_drivers
      
      * Large documentation update. Adds a bunch of new doc pages and fixes various doc strings within the code base.
      
      * Small change to the formatter and error message
      
      * Potential fix to account for framers in the ISD object
      
      * Changed angular_velocity keyword in ISDS to angular_velocities
      
      * Updated ISD test with new expected error message
      f0f0b9f0
      History
      Docs! (#365)
      acpaquette authored
      * File renames
      
      * Small spacing consistencies for doc strings
      
      * Fixes doc build warnings for lro_drivers
      
      * Large documentation update. Adds a bunch of new doc pages and fixes various doc strings within the code base.
      
      * Small change to the formatter and error message
      
      * Potential fix to account for framers in the ISD object
      
      * Changed angular_velocity keyword in ISDS to angular_velocities
      
      * Updated ISD test with new expected error message
    tree.c 118.47 KiB
    /*
     * Implementation of a distributed memory  kd-tree
     * The idea is to have a top level domain decomposition with a shallow shared
     * top level tree between computational nodes.
     *
     * Then each domain has a different set of points to work on separately
     * the top tree serves as a map to know later on in which processor ask for
     * neighbors
     */
    #include "tree.h"
    #include "heap.h"
    #include "kdtreeV2.h"
    #include "mpi.h"
    #include <math.h>
    #include <stdint.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <omp.h>
    #include <sys/sysinfo.h>
    
    //#define WRITE_NGBH
    //#define WRITE_TOP_NODES
    //#define WRITE_DENSITY
    #define WRITE_CLUSTER_ASSIGN_H1
    
    /* 
     * Maximum bytes to send with a single mpi send/recv, used 
     * while communicating results of ngbh search
     */
    
    /* Maximum allowed is 4GB */
    //#define MAX_MSG_SIZE 4294967296
    
    /* Used slices of 10 mb ? Really good? Maybe at the cause of TID thing */
    #define MAX_MSG_SIZE 1000000000 
    
    #ifdef USE_FLOAT32
    #define MPI_MY_FLOAT MPI_FLOAT
    #else
    #define MPI_MY_FLOAT MPI_DOUBLE
    #endif
    
    #define HERE printf("%d reached line %d\n", ctx -> mpi_rank, __LINE__);
    
    #define I_AM_MASTER ctx->mpi_rank == 0
    
    #define TOP_TREE_RCH 1
    #define TOP_TREE_LCH 0
    #define NO_CHILD -1
    
    unsigned int data_dims;
    const border_t border_null = {.density = -1.0, .error = 0, .idx = NOBORDER};
    const sparse_border_t sparse_border_null = {.density = -1.0, .error = 0, .idx = NOBORDER, .i = NOBORDER, .j = NOBORDER};
    
    #define PREALLOC_BORDERS 100
    
    
    int cmp_float_t(const void* a, const void* b)
    {
        float_t aa = *((float_t*)a);
        float_t bb = *((float_t*)b);
        return  (aa > bb) - (aa < bb);
    }
    
    
    float_t *read_data_file(global_context_t *ctx, const char *fname,
                            const int file_in_float32) 
    {