Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
9d8e0c2
Switch to pip install over setup.py
dkoes Sep 14, 2023
cff124c
give up on pip install
dkoes Sep 15, 2023
a4634ce
link CI badge
dkoes Nov 13, 2023
14e8891
Better deal with merging empty coordinate sets
dkoes Mar 2, 2024
d5dc460
Update CI
dkoes Mar 2, 2024
47213e1
No apt update in CI
dkoes Mar 10, 2024
5a642b1
Address Issue #119
dkoes May 29, 2024
4a0443e
no more forloops, more clean
drewnutt Jul 2, 2024
7a74f54
can handle random rotations and translations of the dataset
drewnutt Jul 2, 2024
d1f61e4
remove commented code
drewnutt Jul 2, 2024
8bc5ec1
length provided
drewnutt Jul 2, 2024
0b10133
length provided
drewnutt Jul 2, 2024
efc5cb3
Merge pull request #121 from gnina/MolDataset
dkoes Jul 2, 2024
5cba69a
MolDataset -> MolMapDataset and MolIterDataset
drewnutt Jul 8, 2024
d83b0c9
test debug
drewnutt Jul 8, 2024
f22428c
test debug
drewnutt Jul 8, 2024
2412510
test debug
drewnutt Jul 8, 2024
d9c2e8a
test debug
drewnutt Jul 8, 2024
da2aa72
test debug
drewnutt Jul 8, 2024
c355145
test debug
drewnutt Jul 8, 2024
921de63
Merge pull request #122 from gnina/MolDataset
dkoes Jul 9, 2024
4674cfa
Rearrange thrust includes for CUDA 12.5 compat
dkoes Jul 12, 2024
6410210
add length and DDP support to MolIterDataset
drewnutt Jul 22, 2024
3ef67ae
check if distributed used before world check
drewnutt Jul 22, 2024
1ea4f51
Merge pull request #123 from gnina/MolDataset
dkoes Jul 22, 2024
025b7b2
Fix gcc13 compiling problems.
dkoes Oct 4, 2024
4d3936d
fix: lib-only build
Jul 3, 2023
7e1da1c
fix: add the tests back in
Jul 4, 2023
321914a
fix: libstdc++
Jul 4, 2023
b3e45ea
feat: add pkgconfig
Jul 5, 2023
c175f02
fix: don't build tests
Jul 6, 2023
c7e7875
fix: compile without impure
Jul 13, 2023
e14a400
fix: remove result file
Jul 13, 2023
a576b47
feat: update to nixos 25.05 & rebase onto tip of upstream
seankhl Jun 13, 2025
ce3f06d
Merge remote-tracking branch 'origin/master' into feat/update
seankhl Jun 13, 2025
8c5c5f1
chore: format and clean up flake.nix & default.nix
seankhl Jun 13, 2025
7f52463
fix: for build with cudaPackages_12_4
seankhl Oct 3, 2025
ca26944
chore: use cuda 12.4, correct stdenv, and pinned nixpkgs
seankhl Oct 3, 2025
4d2d683
feat: provide both regular and bullet builds
seankhl Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ jobs:
with:
fetch-depth: 0

- name: apt update
run: apt update -y && apt upgrade -y

- name: Build from src
run: mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE .. && make -j8 && make install

Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/Coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@ jobs:
with:
fetch-depth: 0

- name: apt update
run: apt update -y && apt upgrade -y

- name: Build from src
continue-on-error: true # The one test will most likely fail, but if we skip we lose a lot of coverage.
run: mkdir build && cd build && cmake -DBUILD_COVERAGE=1 .. && make -j8 && make install
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ _site/
.bundle/
vendor/

# Ignore editors
.vscode
# Ignore editors (but not vscode)
/.pytest_cache/
.cproject
.idea
Expand Down
23 changes: 23 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/include/**",
"/usr/local/cuda/include",
"/usr/local/include/openbabel3/",
"/usr/include",
"/usr/include/c++/11/",
"${workspaceFolder}/include/**"],
"defines": [],
"compilerPath": "/usr/bin/c++",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64",
"compileCommands": "${workspaceFolder}/build/compile_commands.json",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
77 changes: 77 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
{
"files.associations": {
"stdexcept": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"array": "cpp",
"atomic": "cpp",
"strstream": "cpp",
"bit": "cpp",
"*.tcc": "cpp",
"bitset": "cpp",
"chrono": "cpp",
"compare": "cpp",
"complex": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"cstdint": "cpp",
"deque": "cpp",
"list": "cpp",
"map": "cpp",
"set": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"unordered_set": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"semaphore": "cpp",
"sstream": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"variant": "cpp",
"codecvt": "cpp",
"cfenv": "cpp",
"filesystem": "cpp"
},
"C_Cpp.files.exclude": {
"/usr/local/include/libmolgrid/**": true
}
}
24 changes: 24 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"version": "2.0.0",
"isShelllCommand": true,
"tasks": [
{
"label": "build",
"options": {
"cwd": "${workspaceRoot}/build"
},
"type": "shell",
"command": "make -j24",
"group": "build"
},
{
"label": "build-debug",
"options": {
"cwd": "${workspaceRoot}/build-debug"
},
"type": "shell",
"command": "make -j24",
"group": "build"
}
]
}
28 changes: 17 additions & 11 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
endif()

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES OFF)
include(GNUInstallDirs)

option(BUILD_SHARED "Build shared library" ON)
Expand All @@ -37,8 +39,7 @@ include(GNUInstallDirs)
# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR})

#dependencies
find_package(CUDA REQUIRED)
find_package(Boost REQUIRED COMPONENTS regex unit_test_framework program_options system filesystem iostreams)
find_package(Boost REQUIRED COMPONENTS regex unit_test_framework program_options system filesystem iostreams serialization)
find_package(OpenBabel3 REQUIRED)
include_directories(SYSTEM ${OPENBABEL3_INCLUDE_DIR})
find_package(ZLIB)
Expand All @@ -54,20 +55,25 @@ set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CUDA_STANDARD 14)

if(CMAKE_CXX_COMPILER_ID MATCHES GNU)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Werror")
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3")
if (BUILD_COVERAGE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g -fprofile-arcs -ftest-coverage")
else()
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Werror")
include(CheckCCompilerFlag)
check_c_compiler_flag(-Wno-error=template-id-cdtor HAS_TEMPLATE_ID_CDTOR)
if (HAS_TEMPLATE_ID_CDTOR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=template-id-cdtor")
endif()
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3")
if (BUILD_COVERAGE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g -fprofile-arcs -ftest-coverage")
else()
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g")
endif()
endif()

if(CUDA_VERSION_MAJOR LESS 11)
#compile for all major architectures >= 35
set(CMAKE_CUDA_ARCHITECTURES 35 50 60 70 75)
set(CMAKE_CUDA_ARCHITECTURES 35 50 60 70 75)
else()
set(CMAKE_CUDA_ARCHITECTURES 52 60 70 75 80)
set(CMAKE_CUDA_ARCHITECTURES 70 80 86)
endif()

set(CMAKE_CUDA_FLAGS_RELEASE "-O3 -g -lineinfo")
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
libmolgrid
==========
![Github CI](https://github.com/gnina/libmolgrid/actions/workflows/CI.yml/badge.svg)
[![Github CI](https://github.com/gnina/libmolgrid/actions/workflows/CI.yml/badge.svg)](https://github.com/gnina/libmolgrid/actions)
[![codecov](https://codecov.io/gh/gnina/libmolgrid/branch/master/graph/badge.svg?token=gUFisf34rf)](https://codecov.io/gh/gnina/libmolgrid)

libmolgrid is under active development, but should be suitable for use by early adopters.
Expand Down
66 changes: 27 additions & 39 deletions default.nix
Original file line number Diff line number Diff line change
@@ -1,59 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, cudatoolkit
, openbabel
, zlib
, boost
, python310Packages
, python310
, pkg-config
{
lib,
cmake,
boost,
python3,
python3Packages,
cudaPackages,
openbabel,
zlib,
}:

stdenv.mkDerivation rec {
cudaPackages.backendStdenv.mkDerivation {
pname = "libmolgrid";
version = "0.5.3";

version = "master";
src = ./.;
# fetchFromGitHub {
# owner = "gnina";
# repo = "libmolgrid";
# rev = "v${version}";
# hash = "sha256-YdEjXfrTf9hw0nMbC2JWZ7Gf/psZ4RQ6v6GUrx5yIoA=";
# };

#buildFlags = [ "-stdlib=libstdc++" ];

nativeBuildInputs = [
cmake
pkg-config
cudaPackages.cuda_nvcc
];

buildInputs = [
#gcc
cudatoolkit
boost.dev
python3
python3Packages.boost
python3Packages.numpy
python3Packages.openbabel-bindings
python3Packages.pyquaternion
python3Packages.pytest
cudaPackages.cuda_cudart
cudaPackages.cuda_cccl
openbabel
#stdenv.cc.cc.lib
zlib
boost.dev
python310Packages.boost
python310Packages.pytest
python310Packages.numpy
python310Packages.pyquaternion
python310Packages.openbabel-bindings
python310
];

OPENBABEL3_INCLUDE_DIR = "${openbabel}/include/openbabel3";

cmakeFlags = [ "-DOPENBABEL3_INCLUDE_DIR=${OPENBABEL3_INCLUDE_DIR}" ];
cmakeFlags = [
"-DCMAKE_CUDA_ARCHITECTURES=70;80;86"
"-DOPENBABEL3_INCLUDE_DIR=${openbabel}/include/openbabel3"
];

meta = with lib; {
description =
"Comprehensive library for fast, GPU accelerated molecular gridding for deep learning workflows";
description = "Comprehensive library for fast, GPU accelerated molecular gridding for deep learning workflows";
homepage = "https://github.com/gnina/libmolgrid";
license = licenses.asl20;
maintainers = with maintainers; [ ];
maintainers = [ ];
};
}
32 changes: 5 additions & 27 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading