Skip to content

[CHECKLIST] Rebuild project: fresh start with BSalita/ddss library (cloning, building, testing) #1

@wopdevries

Description

@wopdevries

Checklist: Rebuild make-dds-dataset with new DDS library (BSalita/ddss)

Follow these steps to fully re-create your DDS dataset pipeline from scratch using the modern open-source DDSS library by BSalita.


1. Clone and Set Up the Project Structure

  • Clone from source base:
    git clone https://github.com/sotetsuk/make-dds-dataset /home/wop/myfirstproject/make-dds-dataset
    cd /home/wop/myfirstproject/make-dds-dataset
  • Copy the latest ddstable.py from xrgopher:
    cp /path/to/xrgopher/ddstable.py ./
  • Review structure; remove any old/unwanted files if desired.

2. Clone and Build DDSS (BSalita/ddss)

  • Clone the latest DDSS source into a subdirectory:
    git clone https://github.com/BSalita/ddss.git build/ddss
    cd build/ddss && mkdir build && cd build
  • Build the shared library:
    cmake -DDDS_THREADING=STL -DDDS_AGGRESSIVE_OPT=ON ..
    cmake --build . --config Release
  • Copy the resulting libdds.so to project root:
    cp libdds.so /home/wop/myfirstproject/make-dds-dataset/
  • (Optional) Test the C++ library:
    ./dtest --random-deals 1000 --report-dir dds_compare_reports --seed 1
  • (Optional) Install system-wide if needed:
    sudo cmake --install . --prefix /usr/local
    sudo ldconfig

3. Prepare Python Environment

  • Setup new venv & install requirements:
    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  • Set LD_LIBRARY_PATH env for runtime linking:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)

4. Generate Bridge Deals and Results

  • Create DDS results with:
    python3 make_dds_results.py --seed 8 --num 100 > results.tsv
    # (edit --seed and --num as needed)
  • Inspect output with:
    head results.tsv

5. Convert Text Results to NumPy Format

  • Convert the text file to NumPy binary for ML:
    python3 to_bytes.py results.tsv
    # Output: results.npy
  • Load and inspect dataset in Python:
    import numpy as np
    keys, values = np.load('results.npy', allow_pickle=True)
    print(keys.shape, values.shape)
    print(keys[:5], values[:5])

6. Troubleshooting Checklist

  • If any step fails, paste error messages here or add a comment to this issue for debugging help.
  • For any API/so errors, verify version of DDSS and if necessary update wrappers.

7. Next Steps (Optional)

  • Update README with new workflow
  • Automate with setup.sh
  • Add more tests or advanced ML export
  • Publish a sample dataset

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions