Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-python@v6
with:
python-version: '3.10'
- run: pip install flake8 bandit "black[jupyter]"==25.12.0
- run: pip install flake8 bandit "black[jupyter]"==26.1.0
# keep black invocations separated so each invocation will pick appropriate configuration file
# from the top dir used for it
- run: black --check --verbose ${{ env.PYTHON_SECURITY_LINT_PATHS }} ${{ env.PYTHON_LINT_PATHS }} ${{ env.AUTOGRAPH_LINT_PATHS }}
Expand Down
2 changes: 1 addition & 1 deletion DALI_DEPS_VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f689931ff3fe42aa4ae420d977a725ad5e344b5b
67cef5f4d1017999949e37f96a7359d8d05e8bbf
6 changes: 3 additions & 3 deletions conda/dali_native_libs/recipe/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@ requirements:
- python-clang
- git-lfs
host:
- protobuf =6.31.1
- libprotobuf-static =6.31.1
- protobuf =6.33.5
- libprotobuf-static =6.33.5
- libjpeg-turbo
- dali-opencv
- dali-ffmpeg
Expand Down Expand Up @@ -107,7 +107,7 @@ requirements:
# dependency to install the right version on the libabseil (as protobuf depends on
# libprotobuf-static and a newer version of libprotobuf-static may be available than
# the protobuf was build with)
- libprotobuf =6.31.1
- libprotobuf =6.33.5
- cfitsio
- nvidia-nvimagecodec-cuda{{ environ.get('CUDA_VERSION', '') | replace(".","") }}
- libnvcomp
Expand Down
10 changes: 5 additions & 5 deletions conda/dali_python_bindings/recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# (C) Copyright IBM Corp. 2019. All Rights Reserved.
# Copyright (c) 2019-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# Copyright (c) 2019-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -72,11 +72,11 @@ requirements:
- patchelf
- python-clang
- git-lfs
- black =25.12.0
- black-jupyter =25.12.0
- black =26.1.0
- black-jupyter =26.1.0
- bandit
host:
- libprotobuf-static =6.31.1
- libprotobuf-static =6.33.5
- dali-opencv
- dali-ffmpeg
- python
Expand All @@ -97,7 +97,7 @@ requirements:
# dependency to install the right version on the libabseil (as protobuf depends on
# libprotobuf-static and a newer version of libprotobuf-static may be available than
# the protobuf was build with)
- libprotobuf =6.31.1
- libprotobuf =6.33.5
- future
- astunparse >=1.6.0
- gast >=0.3.3
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/caffe2_alexnet_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ BENCHMARK_DEFINE_F(C2Alexnet, Caffe2Pipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int executor = 2; executor < 3; ++executor) {
for (int fast_resize = 0; fast_resize < 2; ++fast_resize) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
Expand Down Expand Up @@ -258,7 +258,7 @@ BENCHMARK_DEFINE_F(C2Alexnet, HybridPipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void HybridPipeArgs(benchmark::internal::Benchmark *b) {
static void HybridPipeArgs(benchmark::Benchmark *b) {
for (int executor = 0; executor < 3; ++executor) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/caffe_alexnet_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ BENCHMARK_DEFINE_F(Alexnet, CaffePipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int executor = 2; executor < 3; ++executor) {
for (int fast_resize = 0; fast_resize < 2; ++fast_resize) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
Expand Down Expand Up @@ -260,7 +260,7 @@ BENCHMARK_DEFINE_F(Alexnet, HybridPipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void HybridPipeArgs(benchmark::internal::Benchmark *b) {
static void HybridPipeArgs(benchmark::Benchmark *b) {
for (int executor = 0; executor < 3; ++executor) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/checkpointing_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ class CheckpointingOverhead : public DALIBenchmark {
}
};

static void Args(benchmark::internal::Benchmark *b) {
static void Args(benchmark::Benchmark *b) {
const std::vector<CheckpointingPolicy> policies = {
CheckpointingPolicy::Disabled,
CheckpointingPolicy::Enabled,
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/copy_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void CopyGPUArgs(benchmark::internal::Benchmark *b) {
static void CopyGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
for (int H = 2000; H >= 500; H /= 2) {
int W = H;
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/crop_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void CropCPUArgs(benchmark::internal::Benchmark *b) {
static void CropCPUArgs(benchmark::Benchmark *b) {
int batch_size = 1;
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
Expand Down Expand Up @@ -54,7 +54,7 @@ BENCHMARK_REGISTER_F(OperatorBench, CropCPU)->Iterations(1000)
->UseRealTime()
->Apply(CropCPUArgs);

static void CropGPUArgs(benchmark::internal::Benchmark *b) {
static void CropGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 128; batch_size >= 1; batch_size /= 4) {
for (int H = 2000; H >= 500; H /= 2) {
int W = H, C = 3;
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/crop_mirror_normalize_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void CropMirrorNormalizeCPUArgs(benchmark::internal::Benchmark *b) {
static void CropMirrorNormalizeCPUArgs(benchmark::Benchmark *b) {
int batch_size = 8;
int mean = 128, std = 1;
for (auto &dtype : {DALI_FLOAT}) {
Expand Down Expand Up @@ -76,7 +76,7 @@ BENCHMARK_REGISTER_F(OperatorBench, CropMirrorNormalizeCPU)->Iterations(500)
->UseRealTime()
->Apply(CropMirrorNormalizeCPUArgs);

static void CropMirrorNormalizeGPUArgs(benchmark::internal::Benchmark *b) {
static void CropMirrorNormalizeGPUArgs(benchmark::Benchmark *b) {
int mean = 128, std = 1;
for (int batch_size : {1, 8, 128, 256}) {
for (int H = 1000; H >= 250; H /= 2) {
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/decoder_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ class DecoderBench : public DALIBenchmark {
}
};

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int batch_size = 1; batch_size <= 128; batch_size <<= 1) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
b->Args({batch_size, num_thread});
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/file_reader_alexnet_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ BENCHMARK_DEFINE_F(FileReaderAlexnet, CaffePipe)(benchmark::State& st) { // NOLI
benchmark::Counter::kIsRate);
}

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int executor = 2; executor < 3; ++executor) {
for (int fast_resize = 0; fast_resize < 2; ++fast_resize) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/file_reader_fast_forward_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ BENCHMARK_DEFINE_F(FileReaderFastForward, FastForward)(benchmark::State& st) { /
}
}

static void Args(benchmark::internal::Benchmark *b) {
static void Args(benchmark::Benchmark *b) {
for (int dataset_size = 100; dataset_size <= 1000000; dataset_size *= 100) {
for (int frac = 0; frac <= 10; frac++) {
// Without random shuffle
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/flip_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void FlipGPUArgs(benchmark::internal::Benchmark *b) {
static void FlipGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
for (int H = 2000; H >= 500; H /= 2) {
int W = H, C = 3;
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/gaussian_blur_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void GaussianBlurGPUArgs(benchmark::internal::Benchmark *b) {
static void GaussianBlurGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/one_hot_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@

namespace dali {

static void OneHotGPUAlternateAxis(benchmark::internal::Benchmark *b, int batch_size, int h, int w,
static void OneHotGPUAlternateAxis(benchmark::Benchmark *b, int batch_size, int h, int w,
int num_classes) {
int axis = -1;
b->Args({batch_size, h, w, axis, num_classes});
axis = 1;
b->Args({batch_size, h, w, axis, num_classes});
}

static void OneHotGPUArgs(benchmark::internal::Benchmark *b) {
static void OneHotGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
int h = 64, w = h;
int num_classes = 500;
Expand Down
6 changes: 3 additions & 3 deletions dali/benchmark/resnet50_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ BENCHMARK_DEFINE_F(RN50, C2Pipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int executor = 2; executor < 3; ++executor) {
for (int fast_resize = 0; fast_resize < 2; ++fast_resize) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
Expand Down Expand Up @@ -266,7 +266,7 @@ BENCHMARK_DEFINE_F(RN50, HybridPipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void HybridPipeArgs(benchmark::internal::Benchmark *b) {
static void HybridPipeArgs(benchmark::Benchmark *b) {
for (int executor = 0; executor < 3; ++executor) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
Expand Down Expand Up @@ -375,7 +375,7 @@ BENCHMARK_DEFINE_F(RN50, nvJPEGPipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void nvjpegPipeArgs(benchmark::internal::Benchmark *b) {
static void nvjpegPipeArgs(benchmark::Benchmark *b) {
for (int executor = 0; executor < 3; ++executor) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/resnet50_nvjpeg_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ BENCHMARK_DEFINE_F(RealRN50, nvjpegPipe)(benchmark::State& st) { // NOLINT
benchmark::Counter::kIsRate);
}

static void PipeArgs(benchmark::internal::Benchmark *b) {
static void PipeArgs(benchmark::Benchmark *b) {
for (int executor = 2; executor < 3; ++executor) {
for (int batch_size = 128; batch_size <= 128; batch_size += 32) {
for (int num_thread = 1; num_thread <= 4; ++num_thread) {
Expand Down
6 changes: 3 additions & 3 deletions dali/benchmark/slice_kernel_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ class SliceBenchCPU : public DALIBenchmark {
}
};

static void SliceKernelArgs_OnlySlice_CPU(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_OnlySlice_CPU(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand All @@ -94,7 +94,7 @@ BENCHMARK_REGISTER_F(SliceBenchCPU, Slice_CPU_OnlySlice)->Iterations(1000)
->UseRealTime()
->Apply(SliceKernelArgs_OnlySlice_CPU);

static void SliceKernelArgs_OnlyPad_CPU(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_OnlyPad_CPU(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand All @@ -114,7 +114,7 @@ BENCHMARK_REGISTER_F(SliceBenchCPU, Slice_OnlyPad_CPU)->Iterations(1000)
->UseRealTime()
->Apply(SliceKernelArgs_OnlyPad_CPU);

static void SliceKernelArgs_SliceAndPad_CPU(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_SliceAndPad_CPU(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand Down
6 changes: 3 additions & 3 deletions dali/benchmark/slice_kernel_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class SliceBenchGPU : public DALIBenchmark {
}
};

static void SliceKernelArgs_GPU_OnlySlice(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_GPU_OnlySlice(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand All @@ -106,7 +106,7 @@ BENCHMARK_REGISTER_F(SliceBenchGPU, Slice_GPU_OnlySlice)->Iterations(1000)
->UseRealTime()
->Apply(SliceKernelArgs_GPU_OnlySlice);

static void SliceKernelArgs_GPU_OnlyPad(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_GPU_OnlyPad(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand All @@ -127,7 +127,7 @@ BENCHMARK_REGISTER_F(SliceBenchGPU, Slice_GPU_OnlyPad)->Iterations(1000)
->UseRealTime()
->Apply(SliceKernelArgs_GPU_OnlyPad);

static void SliceKernelArgs_GPU_SliceAndPad(benchmark::internal::Benchmark *b) {
static void SliceKernelArgs_GPU_SliceAndPad(benchmark::Benchmark *b) {
for (int H = 1000; H >= 500; H /= 2) {
int W = H, C = 3;
int crop_h = 9 * H / 10;
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/thread_pool_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ namespace dali {

class ThreadPoolBench : public DALIBenchmark {};

static void ThreadPoolArgs(benchmark::internal::Benchmark *b) {
static void ThreadPoolArgs(benchmark::Benchmark *b) {
int batch_size = 64;
int work_size_min = 400;
int work_size_max = 10000;
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/transpose_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ static std::vector<int> permutations3[] = {
{2, 1, 0},
};

static void TransposeGPUArgs(benchmark::internal::Benchmark *b) {
static void TransposeGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
for (int H : dimensions) {
for (int W : dimensions) {
Expand Down
2 changes: 1 addition & 1 deletion dali/benchmark/transpose_cpu_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ std::tuple<TensorShape<>, std::vector<int>> GetCase(int id) {
return cases[id];
}

static void CustomArguments(benchmark::internal::Benchmark* b) {
static void CustomArguments(benchmark::Benchmark* b) {
for (unsigned int i = 0; i < sizeof(cases) / sizeof(*cases); i++) {
for (int scale = 1; scale <= 8; scale *= 2) {
b->Args({i, scale});
Expand Down
4 changes: 2 additions & 2 deletions dali/benchmark/warp_affine_bench.cc
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

namespace dali {

static void WarpAffineCPUArgs(benchmark::internal::Benchmark *b) {
static void WarpAffineCPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 16; batch_size >= 1; batch_size /= 2) {
for (int H = 2048; H >= 256; H /= 2) {
int W = H, C = 3;
Expand Down Expand Up @@ -55,7 +55,7 @@ BENCHMARK_REGISTER_F(OperatorBench, WarpAffineCPU)->Iterations(50)
->Apply(WarpAffineCPUArgs);


static void WarpAffineGPUArgs(benchmark::internal::Benchmark *b) {
static void WarpAffineGPUArgs(benchmark::Benchmark *b) {
for (int batch_size = 256; batch_size >= 1; batch_size /= 2) {
for (int H = 2048; H >= 256; H /= 2) {
int W = H, C = 3;
Expand Down
3 changes: 2 additions & 1 deletion dali/pipeline/operator/checkpointing/checkpoint.cc
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,8 @@ std::string Checkpoint::SerializeToProtobuf(ExecutorBase &exec) const {
void Checkpoint::DeserializeFromProtobuf(ExecutorBase &exec, std::string_view serialized_data) {
Clear();
dali_proto::Checkpoint checkpoint;
checkpoint.ParseFromArray(serialized_data.data(), serialized_data.size());
DALI_ENFORCE(checkpoint.ParseFromArray(serialized_data.data(), serialized_data.size()),
"Failed to deserialize checkpoint from protobuf.");

for (int i = 0; i < checkpoint.cpts_size(); i++) {
const auto &name = checkpoint.cpts(i).operator_name();
Expand Down
9 changes: 6 additions & 3 deletions dali/pipeline/operator/checkpointing/snapshot_serializer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ std::string SerializeRNG(const std::vector<T> &snapshot) {
template<class T>
std::vector<T> DeserializeRNG(const std::string &data) {
dali_proto::RNGSnapshotCPU proto_snapshot;
proto_snapshot.ParseFromString(data);
DALI_ENFORCE(proto_snapshot.ParseFromString(data),
"Failed to deserialize RNG snapshot from protobuf.");
std::vector<T> snapshot;
for (int i = 0; i < proto_snapshot.rng_size(); i++)
snapshot.push_back(DeserializeFromString<T>(proto_snapshot.rng(i)));
Expand Down Expand Up @@ -96,7 +97,8 @@ std::string SnapshotSerializer::Serialize(const std::vector<curandState> &snapsh
template<> DLL_PUBLIC
std::vector<curandState> SnapshotSerializer::Deserialize(const std::string &data) {
dali_proto::RNGSnapshotGPU proto_snapshot;
proto_snapshot.ParseFromString(data);
DALI_ENFORCE(proto_snapshot.ParseFromString(data),
"Failed to deserialize GPU RNG snapshot from protobuf.");
auto str = proto_snapshot.rng();
std::vector<curandState> snapshot(str.size() / sizeof(curandState));
memcpy(snapshot.data(), str.data(), str.size());
Expand All @@ -115,7 +117,8 @@ std::string SnapshotSerializer::Serialize(const LoaderStateSnapshot &snapshot) {
template<> DLL_PUBLIC
LoaderStateSnapshot SnapshotSerializer::Deserialize(const std::string &data) {
dali_proto::ReaderStateSnapshot proto_snapshot;
proto_snapshot.ParseFromString(data);
DALI_ENFORCE(proto_snapshot.ParseFromString(data),
"Failed to deserialize loader state snapshot from protobuf.");
return LoaderStateSnapshot {
DeserializeFromString<std::default_random_engine>(proto_snapshot.loader_state().rng()),
proto_snapshot.loader_state().current_epoch(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
from nvidia.dali._autograph.pyct import templates
from nvidia.dali._autograph.utils import ag_logging


# TODO(mdan): Rename to FunctionCallsTransformer.


Expand Down
Loading