Suite


Products

Big Denominator has a solution for you - no matter your technical sophistication nor the complexity of your problem.

SCROLL DOWN

Suite


Products

Big Denominator has a solution for you - no matter your technical sophistication nor the complexity of your problem.

Big Denominator provides simple, yet powerful tools for individuals and companies of all sizes to successfully design, build, and run ultra-fast, high performance applications without advanced programming or computer science training. Our goal is to democratize high performance computing.

Check out the Tutorials section of our website or our YouTube channel to get started!


EDGE

Software development kit


DGE

Directed Graph Engine - The backbone of all other offerings


Services

Contracting and customization services


Applications

Off-the-shelf solutions


Plus, contact us to customize the solution you need.

Training and support are always available.

EDGE


EDGE

Our development platform is designed for customers looking to take their internal solutions to the next level.

EDGE


EDGE

Our development platform is designed for customers looking to take their internal solutions to the next level.

The Big Denominator EDGE is a C++ based general-purpose application development and deployment framework. Its simple and intuitive interface facilitates the rapid development, testing, deployment, and administration of high performance applications that seamlessly scale from a single computer to a full network cluster. It is targeted to those needing customized solutions but who may lack the skills and/or investment required for full application development.

The EDGE library offers ...

  • intuitive and simple syntax for describing the problem you are trying to solve
  • high performance vector / array processing through extensible expression templates
  • parallel execution through custom-administered multi-threading
  • distributed computing using a simple API ("Request", "Send", and "View") with portable, extensible data structures

Though EDGE components are stand-alone tools, available for use in user applications, full Big Denominator application development and execution requires the Directed Graph Engine (DGE). This executable and dll/so handles system configuration and administration as well as graph execution. It is freely downloadable but requires a license. Feel free to contact us for a trial license.


Runtime Engine / Executable

Build libraries and models compatible with the Big Denominator Directed Graph Engine (DGE). We handle system topology, thread and memory management, data and thread coordination, and input and output streams.


HPC-Tailored Data Containers

Get the most computing bang-for-the-buck using our data containers. They make extensive use of SIMD operations, provide thread-safety, and efficiently port themselves between threads, processes, and even servers.


Analytic Tools

Get the most out of your data by using our analytic toolbox to work with your data containers. Plus, you'll be able to customize and extend our functionality to fit your needs. We're just the beginning.


Guidance and Support

Get started with our Developer's Guide and code examples. Plus our team is always ready, willing, and able to lend help.


Releases

v0.9: 2016-08-05

Release 0.9 represents a major step in the history of Big Denominator - the initial deployment of the EDGE library. EDGE v0.9 is written in C++11 and therefore compatible with a wide range of C++ compilers. Currently, EDGE is tested using Visual Studo 2015 (Win64) and GCC 4.8.2 (Linux). Testing with additional compilers is on the near-term horizon.


+ Contents

When installed on a Windows machine, the EDGE toolkit creates a BDSDK environmental variable that references the installation directory. The following subdirectories and files are installed to this directory:

  • LICENSE.txt - Contains the terms of the EDGE license.

bin/ Subdirectory for binaries.

Contains debug and release versions of the tcmalloc binary.


lib/ Subdirectory for libraries.

Contains debug and release versions of the tcmalloc binary.


src/ Subdirectory for all header and source code files.

  • BDLink.cpp - Implements the API for a Big Denominator DGE-compatible library. This is the only source code file necessary for building such a library.
  • BDLink.h - Defines the API for a Big Denominator DGE-compatible library.
  • bdsdk.h - Master header file which includes all EDGE components (see below).
  • CommonDefs.h - Top level header file with tools and configuration settings - included in all other EDGE header files.

utils/ Base utilities do not depend on any other components.

  • src/utils/AlignedAllocator.h - Memory allocator guaranteeing alignment, necessary for SIMD operations
  • src/utils/all.h - Master header file which includes all components of this subdirectory.
  • src/utils/BDGate.h - Advanced programming tool for blocking access to shared objects.
  • src/utils/BDWaitRelease.h - Advanced programming tool for thread synchronization.
  • src/utils/Log.h - Simplified logging tool - output to a text file.
  • src/utils/Parameterize.h - Convert a multivariate method into a univariate method by binding additional variables to specific values.
  • src/utils/PerfTools.h - Performance analysis tools, many of which are under construction.
  • src/utils/SmartPointers.h - Defines shared and unique pointers for simplified yet advanced memory management. DO NOT USE RAW POINTERS! EVER!
  • src/utils/States.h - Tool / library for US state indexing.
  • src/utils/Strings.h - Additional string manipulation tools.
  • src/utils/Timer.h - Clock-cycle timing class.
  • src/utils/TypeLists.h - Foundational meta-programming tool, makes a type out of a list of other types.

src/containers Containers are data structures capable of packaging themselves up for transmission across networks.

In addition to out-of-the-box containers, such as vectors and maps, EDGE provides intuitive syntax for user defined containers.

  • src/containers/all.h - Master header file which includes all components of this subdirectory.
  • src/containers/ArrayBased.h - Base class and tools for use by SmartArray and SmartVector.
  • src/containers/DateMath.h - Base methods for date logic, used predominately by the SmartDate class.
  • src/containers/Expressions.h - Defines the expression templates used by Array/Vector operations.
  • src/containers/IContainer.h - Defines the interface for all containers - guaranteeing their portability.
  • src/containers/ItrBundle.h - Synchronized iteration through a group of iterators.
  • src/containers/Schematic.h - MACROS for defining data portable data structures for use by the DGE
  • src/containers/SIMD.h - Defines SIMD operations.
  • src/containers/SimpleMath.h - Some simple math utilities helpful to containers.
  • src/containers/SmartArray.h - Portable, SIMD-enabled array of fixed size.
  • src/containers/SmartContainers.h - Base class for all containers; contains tools for container portability.
  • src/containers/SmartDate.h - Date class.
  • src/containers/SmartMap.h - Portable, sorted key-value pairs.
  • src/containers/SmartMatrix.h - Defines matrix multiplication operation.
  • src/containers/SmartSet.h - Portable, sorted set of values.
  • src/containers/SmartVector.h - Portable, SIMD-enabled array of dynamic size.
  • src/containers/Tuple.h - Fixed-size collection of heterogeneous values.

src/math The math toolkit operates on array-based data using SIMD as much as possible.

  • src/math/all.h - Master header file which includes all components of this subdirectory.
  • src/math/RandomNumbers.h - Random number generator.
  • src/math/Statistics.h - Basic statistical summarization of array-based data.

src/nodes The nodes toolkit is required for building DGE-compatible libraries.

  • src/nodes/all.h - Master header file which includes all components of this subdirectory.
  • src/nodes/BaseNode.h - Defines the interface for nodes on the directed graph.
  • src/nodes/EventDef.h - Defines the data structures encapsulating the edges of the graph.
  • src/nodes/Feedback.h - Stores error messages and log info.
  • src/nodes/IEvntHndlr.h - Defines the interface for the DGE.
  • src/nodes/ITechnology.h - Defines the interface for user-defined input/output technologies (e.g., Oracle database)
  • src/nodes/Library.h - Defines how libraries self-document for the DGE.
  • src/nodes/TransformNode.h - Base class for all transformation nodes (i.e., component model)

src/probability Standardized toolkit with pdf, cdf, and inverse cdf of common probability distributions.

  • src/probability/all.h - Master header file which includes all components of this subdirectory.
  • src/probability/Binomial.h - Discrete binomial distribution.
  • src/probability/Logistic.h - Continuous logistic distribution.
  • src/probability/Normal.h - Continuous normal distribution.
  • src/probability/Poisson.h - Discrete Poisson distribution.
  • src/probability/ProbTools.h - Basic probability tools.

src/solvers Basic analytic toolbox.

  • src/solvers/all.h - Master header file which includes all components of this subdirectory.
  • src/solvers/GridSearch.h - Grid search minimization algorithm
  • src/solvers/Integration.h - Integration routines
  • src/solvers/Interpolation.h - Interpolation routines
  • src/solvers/Roots.h - Root finding routines
  • src/solvers/Simplex.h - Simplex minimization algorithm

src/unittest Toolbox for using gtest for unit testing.

  • src/unittest/all.h - Master header file which includes all components of this subdirectory.
  • src/unittest/gtest_main.cc - gtest-based main function
  • src/unittest/UnitTestDefs.h - Header file for use in gtest-based unit tests

Also, if you have Microsoft Visual Studio installed, you will receive ...

  • A project template for creating DGE-compatible libraries.
  • An item template for creating a Transform Node.
  • An item template for creating an I/O Node.

+ License

Use, modification and distribution are subject to the Big Denominator SDK License, Version 1.0.
(See accompanying file LICENSE.txt or copy at http://www.bigdenominator.com/license-sdk)


© 2016 Big Denominator, LLC. All rights reserved.


Installing a C++ Development Environment for Windows

For development on the Windows platform, Big Denominator supports the Microsoft Visual Studio IDE.

Visual Studio is completely self-contained (i.e., comes with a C++ compiler). Plus, with the introduction of the Community edition, it is free!

+ Install Visual Studio Community

  1. Navigate to here
  2. Click "Download Community YYYY" for the latest version
  3. Run the downloaded executable

+ Test Installation / Setup

  1. Select File > New > C++ Project
  2. Name the project "HelloWorld"
  3. Select the "Hello World C++ Project" project type
  4. Select the "MinGW GCC" Toolchain
    A new C/C++ Project, named "HelloWorld" should now appear.
  5. Right-click the HelloWorld project
  6. Select "Build Project"
    If the build is successful, the message "Build Finished" should appear in the Console window
  7. Click the Run icon in the top menu (green circle with white arrow)
    If all is successful, the message "Hello World!!!" should appear in the Console window

DGE


DGE

Directed Graph Engine

DGE


DGE

Directed Graph Engine

The Big Denominator DGE serves as the backbone to all Big Denominator offerings by executing model libraries built with EDGE, delivered by our customization Services, or licensed from our off-the-shelf applications. It is the application manager responsible for thread management, both intra-/inter-server communication, as well as configuration validation. Its simple and intuitive user interface facilitates administration of high performance applications.

The DGE offers ...

  • intuitive and simple interface for administration
  • high performance coordination of models and libraries
  • low latency / high thoughput data transfer
  • parallel execution through custom-administered multi-threading
  • distributed computing using the messaging / communication system of your choice

The DGE is offered as a stand-alone download for the convenience of IT departments; its power and utility comes from the models it runs. Feel free to contact us for a trial license.

Get started using the DGE by also downloading EDGE. The DGE adminstration utility will be released soon!


Releases

v0.9: 2016-08-05

Release 0.9 represents a major step in the history of Big Denominator - the initial deployment of the DGE. While a Win64 version is currently released, we anticipate release of a Linux engine shortly.


+ Contents

When installed on a Windows machine, the DGE creates a BD_ROOT environmental variable that references the installation directory. The following subdirectories and files are installed to this directory:

  • License.pdf - Contains the terms of the DGE license.

bin/ Subdirectory for binaries.

Contains release versions of the following binaries:


lib/ Subdirectory for libraries.

Contains release version of the tcmalloc library.


+ License

Use, modification and distribution are subject to the Big Denominator DGE License, Version 1.0.
(See accompanying file License.pdf or copy at http://www.bigdenominator.com/license-dge)


© 2016 Big Denominator, LLC. All rights reserved.


Services


Services

Our contract and customization services are designed for demanding customers looking to supplement their subject matter expertise.

Services


Services

Our contract and customization services are designed for demanding customers looking to supplement their subject matter expertise.

Our contract and customization services put our team to work for you directly.

We can customize an existing solution or create a solution per your specifications


Reduce Development Time

Let our team do what they do best. We'll collaboratively work with you to implement the algorithms and solutions you define.


Reduce Costs and Overhead

Focus on what you do best - subject matter expertise. Your capital and risk appetite are scarce: do not waste them on internal development, hiring HPC programmers, or unnecessary hardware. 


Improve Results

Few understand HPC like us, and no one knows our product(s) like us. We'll deliver the best possible solution to fit your needs. Let the magic happen!

Applications


Applications

Our off-the-shelf applications are designed for customers looking for HPC implementations of standardized solutions.

Applications


Applications

Our off-the-shelf applications are designed for customers looking for HPC implementations of standardized solutions.

Big Denominator is always looking to expand its application portfolio.


Finance - Bond Valuation

Modeling and valuing bonds, particularly mortgages, is quite computationally intensive. Our bond valuation system provides the following:

  • Monte-Carlo based analysis
  • Calculation of scheduled payments for both fixed- and adjustable-rate instruments
  • LIBOR Market Model interest rate simulation
  • Calculation of many common interest rate indexes
  • Calculation of expected payments, based on prepayment, default, and loss severity modeling
  • Option-adjusted spread (OAS)-based pricing
  • Ability to implement custom prepayment, default, and loss severity models
  • Ability to implement custom interest rate model

COMING SOON

Traffic Forecasting / Simulation

Activity-based travel demand simulation for metropolitan areas