Commit Graph

602 Commits

Author SHA1 Message Date
Kenneth Moreland
ad1e7b5bdb Add module mechanism
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.

The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.

This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
2022-10-26 12:51:05 -06:00
Vicente Adolfo Bolea Sanchez
2df065869c CI: Enable Ascent builds in MR 2022-10-25 15:40:17 -04:00
Vicente Adolfo Bolea Sanchez
8d01c750f8 Partial revert of a4f81d2c3e34fead9e55a802967445db195d9856 2022-10-11 13:50:32 -04:00
Vicente Adolfo Bolea Sanchez
c2d1a46bd0 KOKKOS: empty bogus kokkoscore property 2022-10-11 12:29:32 -04:00
Vicente Adolfo Bolea Sanchez
7ceec1ddac libs: proper version and soversion in vtk-m libs
This commit reflects the changes of VTK-m API/ABI release plans in
which we attempt ABI compatibility in patch releases.

- It also sets the version/soname for diy thirdparty module lib
2022-10-10 13:49:56 -04:00
Vicente Adolfo Bolea Sanchez
7e99e256bb perftest: add perf regression test 2022-10-07 17:42:12 -04:00
Vicente Adolfo Bolea Sanchez
db770e7598 CI: Limit usage of hipcc and use -O0 2022-09-30 17:04:25 -04:00
Vicente Adolfo Bolea Sanchez
55e742319e CI: increase kokkos-backend test timeout 2022-09-30 17:04:25 -04:00
Vicente Adolfo Bolea Sanchez
c92abc4093 lodepng: remove interface dependency
It also avoid installing lodepng.a in the vtk-m shared build.
2022-08-22 21:54:49 -04:00
Vicente Adolfo Bolea Sanchez
bba1630614 Revert "ci: change timeout for kokkos"
This reverts commit 185634fe47986cb6689054790f96d59e1e231b8c.
2022-08-09 12:25:31 -04:00
Vicente Bolea
7c25d8f0f4 Merge topic 'skip-find-tbb-if-loaded'
c30c35571 Revert "Disable loading the TBBConfig.cmake file"
dd3fc9781 cmake: skip find_package(TBB) if already loaded

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2835
2022-08-04 17:33:47 -04:00
Vicente Adolfo Bolea Sanchez
c30c35571f Revert "Disable loading the TBBConfig.cmake file"
This reverts commit a8825db59a7235c9d267ac4f909bd2eebb25cb40.
2022-08-04 13:58:01 -04:00
Vicente Adolfo Bolea Sanchez
dd3fc97811 cmake: skip find_package(TBB) if already loaded 2022-08-04 13:24:27 -04:00
Vicente Adolfo Bolea Sanchez
185634fe47 ci: change timeout for kokkos 2022-07-27 21:05:39 -04:00
Kenneth Moreland
163d591795 Add DEVICE_SOURCES to vtkm_unit_tests
The `vtkm_unit_tests` function in the CMake build now allows you to specify
which files need to be compiled with a device compiler using the
`DEVICE_SOURCES` argument. Previously, the only way to specify that unit
tests needed to be compiled with a device compiler was to use the
`ALL_BACKENDS` argument, which would automatically compile everything with
the device compiler as well as test the code on all backends.
`ALL_BACKENDS` is still supported, but it no longer changes the sources to
be compiled with the device compiler.
2022-07-08 06:28:51 -06:00
Vicente Bolea
b40d7105cf Merge topic 'add-cuda-arch'
af129132c CMAKE: add CMAKE_CUDA_ARCHITECTURE support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2724
2022-03-30 11:49:44 -04:00
Vicente Adolfo Bolea Sanchez
af129132cc CMAKE: add CMAKE_CUDA_ARCHITECTURE support 2022-03-29 19:56:43 -04:00
Kenneth Moreland
18461d676f Add a unique symbol to InstantiationTemplate.cxx.in
A compiler or linker may give an error if a .cxx file is empty (that is,
declares no symbols). This can happen if an instantiation declaration
gets removed during the compile either through preprocessor macros or
SFINAE.

To protect against this, declare a simple integer with a unique symbol
in each instantiation file. The overhead is very small and will prevent
compile/link errors.
2022-03-28 09:18:23 -06:00
Kenneth Moreland
61a44887fd Update vtkm_add_instantiations documentation 2022-03-23 06:34:05 -06:00
Kenneth Moreland
6eb9c9876c Add generalized instantiation
Recently, an instantiation method was added to the VTK-m configuration
files to set up a set of source files that compile instances of a template.
This allows the template instances to be compiled exactly once in separate
build files.

However, the implementation made the assumption that the instantiations
were happening for VTK-m filters. Now that the VTK-m filters are being
redesigned, this assumption is broken.

Thus, the instantiation code has been redesigned to be more general. It can
now be applied to code within the new filter structure. It can also be
applied anywhere else in the VTK-m source code.
2022-03-23 06:33:36 -06:00
Vicente Adolfo Bolea Sanchez
b2c3da8f6a CTEST: add smoke test 2022-02-12 00:16:30 +00:00
Vicente Bolea
ce17a3bf77 Merge topic 'cuda-multiple-archs' into release
0bbba6c0c CMAKE: CUDA ampere generate sm_80/86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2688
2022-01-28 12:55:33 -05:00
Vicente Bolea
2bdce6c32d Merge topic 'cuda-multiple-archs'
0bbba6c0c CMAKE: CUDA ampere generate sm_80/86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2688
2022-01-28 12:55:33 -05:00
Vicente Adolfo Bolea Sanchez
770c76f842 HIP: remove bogus kokkoscore props 2022-01-27 20:41:56 -05:00
Vicente Adolfo Bolea Sanchez
0bbba6c0c2 CMAKE: CUDA ampere generate sm_80/86 2022-01-27 20:03:54 -05:00
Vicente Bolea
a4a38835e8 Merge topic 'kokkos-fix'
cc6502498 HIP: remove bogus kokkoscore props

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2679
2022-01-24 16:19:26 -05:00
Vicente Adolfo Bolea Sanchez
cc6502498e HIP: remove bogus kokkoscore props 2022-01-21 16:36:40 -05:00
Vicente Adolfo Bolea Sanchez
555013cdda CMAKE: add unity builds support 2021-11-10 15:03:11 -05:00
Kenneth Moreland
8ea7fbc350 Add clarification for DEVICE_SOURCES
The `vtkm_add_target_information` CMake function has a `DEVICE_SOURCES`
option that allows you to list which sources need to be compiled with a
device compiler. Added some hints to the documentation about which
source code needs to be listed in `DEVICE_SOURCES`.
2021-10-12 13:50:42 -06:00
Jieyang Chen
a157c0e846 Add changes for supporting Kokkos/HIP
Some of the unit tests for serial and kokkos are disable for hipcc to
properly compile.
VTKM_MATH_ASSERT and VTKM_TEST_ASSERT fail to compile with HIP in
execution environment so they are disabled with building with HIP.
Kokkos::finalize is causing error so it is temporarily disabled.
2021-10-01 15:27:00 -04:00
Vicente Adolfo Bolea Sanchez
521ef15fee Expose VTKm_ENABLE_TESTING_LIBRARY in find_package 2021-09-30 16:13:51 -04:00
Vicente Adolfo Bolea Sanchez
46b0268825 CI: add ubuntu2004 with tbb 2020 build 2021-09-28 19:46:11 +00:00
Vicente Adolfo Bolea Sanchez
c0eb7138cb Instatiations: fix paths templates inside project
When VTKm is used inside another CMAKE project the instatitations will
include its filers with the relative path from the top lever of the
parent project instead of the top level of the VTKm project. This commit
resolves that.
2021-09-20 16:10:29 -04:00
Ben Boeckel
73353fea70 Merge topic 'allow-skip-version-links'
09d5b9471 cmake: allow VTK to skip soname links for libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vicente Bolea <vicente.bolea@kitware.com>
Merge-request: !2563
2021-08-26 13:58:44 -04:00
Ben Boeckel
09d5b9471e cmake: allow VTK to skip soname links for libraries
VTK's wheels do not want these symlinks because they are useless in
Python wheels.
2021-08-26 12:06:09 -04:00
Vicente Adolfo Bolea Sanchez
d348b11183 Enable shared CUDA builds when not compiling virtuals
The reason why we did not support shared libraries when CUDA compiles
were on is that virtual methods require a special linking step to pull
together all virtual methods that might be called. I other words, you
cannot call a virtual CUDA method defined inside a library. This
requirement goes away when virtuals are removed.

Also removed the necessity of using seprable compilation with cuda.
Again, this is only needed when a CUDA function is defined in one
translation unit and used in another. Now we can enforce that all
translation units define their own CUDA functions.

Also, suppress warnings in cuda/internal/ExecutionPolicy.h

This is where we call the thrust algorithms. There must be some loop
where it, on some code path, calls back a host function. This must be in
an execution path that never happens. The thrust version has its own
suppress, but that does not seem to actually suppress the warning (it
just means that the warning does not tell you where the actual call is).

Get around the problem by suppressing the warnings in VTK-m.

Co-authored-by: Kenneth Moreland <morelandkd@ornl.gov>
Co-authored-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-24 13:14:58 -04:00
Vicente Bolea
675cdfe959 Merge topic 'ci-provide-cmake'
5353934e6 CI: Add Junit support
4b6175980 CI: download/install cmake in each build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !2537
2021-08-17 16:58:26 -04:00
Vicente Adolfo Bolea Sanchez
b6fc783631 Filters: Add cmake instantiations generator
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-14 13:39:53 -04:00
Vicente Adolfo Bolea Sanchez
4b6175980c CI: download/install cmake in each build
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-08-12 19:19:17 -04:00
Kenneth Moreland
fc58f4edc6 Turn on CUDA warnings for unknown stack sizes
These were previously suppressed because they are unavoidable when
calling virtual methods. But we no longer support virtual methods on
devices (it is deprecated).

These warnings can still happen if you have unbounded recursion. But we
would like to avoid unbounded recursion, so we would like to see these
warnings.

Also turned on other nvlink warnings, which include when a recursive
function call means that the compiler cannot figure out the full
stack depth.
2021-08-02 09:50:41 -06:00
Kenneth Moreland
3be3529ff3 Export tbb interface as vtkm::tbb
The dependent exports should be placed in the vtkm namespace.
2021-06-10 10:54:46 -06:00
Kenneth Moreland
a8825db59a Disable loading the TBBConfig.cmake file
Sourcing the file installed on dragnipur is causing a CMake error. I
don't know if it is an install error or a problem with FindTBB.cmake,
but this should get around the problem by just using the "old" method
for finding TBB.
2021-06-10 10:39:19 -06:00
Kenneth Moreland
0390c8b079 Pull FindTBB.cmake from VTK
The latest version of TBB changes the include directory where the
version is stored, so the old version of FindTBB.cmake would fail
because it could not open this file. This issue has already been fixed
by the FindTBB.cmake in VTK, so pull the latest version of that.
2021-06-10 09:12:24 -06:00
Ben Boeckel
4c7fe13a98 cmake: avoid adding testing directories if testing is disabled
Some testing directories have side effects such as installing headers or
compiling code that ultimately doesn't end up getting used.
2021-06-01 18:40:40 -04:00
Nickolas Davis
c4117ede8a Merge topic 'prefix-cmd-line-args'
968c66f94 add TODO to update kokkos initialize
18d7827db update vtkm test arguments
5fa8734bb update vtkm initialize flags to have 'vtkm' prefix and deprecate old flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <morelandkd@ornl.gov>
Merge-request: !2456
2021-05-12 09:57:47 -04:00
nadavi
18d7827db7 update vtkm test arguments 2021-04-29 00:58:50 +00:00
nadavi
5fa8734bbc update vtkm initialize flags to have 'vtkm' prefix and deprecate old flags 2021-04-29 00:58:50 +00:00
Kenneth Moreland
8eed21d085 Do not declare headers for virtual classes that are removed 2021-04-28 15:28:06 -06:00
Vicente Adolfo Bolea Sanchez
f60a45bc63 Enforce C++14 in the whole project
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-04-12 13:29:46 -04:00
Caitlin Ross
53833334c4 change the way tbb is imported 2021-04-08 16:24:42 -04:00
Robert Maynard
97944e59be Correctly handle when to use DEVICE_LINK generator expression 2021-04-02 13:45:15 -04:00
Vicente Adolfo Bolea Sanchez
486c5de95c TESTING: Set C++14 as minimum standard for install test
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-03-25 18:59:13 -04:00
nadavi
f70ecd4354 implement PointLocator without virtual methods 2021-02-17 17:16:17 +00:00
Kenneth Moreland
3aa2c7521a Merge topic 'cell-locators-not-virtual'
047d79672 Fix CUDA compilation error with Lagrangian filter
aec9890e9 Remove check for CellLocator.h in SourceInInstall test
2399741a9 Change Probe filter to use CellLocatorChooser
e61c54f87 Add CellLocatorChooser
23c823d4b Fix compile errors and warnings related to new CellLocator structure
47429a316 Fix export issues with CellLocatorBase
8922f600e Use GNU attributes for deprecated
0a5f5d55c Remove virtual methods from cell locators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nickolas Davis <nadavi@sandia.gov>
Merge-request: !2271
2021-02-16 19:16:01 -05:00
Kenneth Moreland
aec9890e96 Remove check for CellLocator.h in SourceInInstall test
The CellLocator.h header file is deprecated and not installed if virtual
methods are turned off. So just avoid checking it.
2021-02-16 13:04:08 -07:00
Chuck Atkins
78e7645fcb cmake: Fix FindMPI getting consumed by newer CMake versions 2021-02-16 10:34:48 -05:00
Vicente Adolfo Bolea Sanchez
bbe36d8c33 cmake: set c++14 as minimum c++ rev
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2021-02-08 17:13:05 +01:00
Li-Ta Lo
ff0b8fd0bb changed to CMake files based on Robert's feedback 2021-01-14 14:23:05 -07:00
Li-Ta Lo
ca0ce4de7b Merge branch 'master' into hdf5_image_io 2021-01-14 14:08:00 -07:00
Li-Ta Lo
23a95f864a exclude header files from install check when it is not enabled 2021-01-05 13:43:16 -07:00
Robert Maynard
7897d23c39 Cleanup some minor CMake style issues 2020-12-28 10:36:00 -05:00
Kenneth Moreland
932c8e5ec0 Wrap test_equal_ArrayHandles into a precompiled library
The previous implementation of test_equal_ArrayHandles was several
templates that had to be resolved by any test that used them, which
could be costly for unknown array types. Simplify this a bit by moving
the implementation of testing unknown arrays into a library.

Another advantage of the new implementation is that is handles more
cases. Thus, you should not need to `ResetTypes` on the unknown/
uncertain arrays.
2020-12-22 17:17:19 -07:00
Robert Maynard
004f320e20 Merge topic 'expand_kokkos_device_to_support_hip'
7475c318b VTK-m now uses CMake's future HIP lang for Kokkos+HIP

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2351
2020-12-16 08:58:17 -05:00
Robert Maynard
f5b776b747 VTK-m Properly computes frameworks on mojave / big sur
Fixes #587

This works around issues in CMake 3.19 and lower which aren't
aware of the new 'tbd' files that should be used for GLUT
2020-12-11 13:20:18 -05:00
Robert Maynard
7475c318be VTK-m now uses CMake's future HIP lang for Kokkos+HIP 2020-12-11 09:13:12 -05:00
nadavi
b883b2d92b support adding images to the gitlab ci archive for regression tests 2020-12-02 16:24:08 +00:00
nadavi
a1c3752dfb split -Wchar-subscripts out from clang compile flags 2020-12-02 16:24:08 +00:00
Robert Maynard
bcc840eaf6 Add support for the Ampere line of NVIDIA GPU's 2020-10-21 10:15:52 -04:00
Robert Maynard
461616a771 Refactor some VTK-m device adapter to be alphabetical 2020-09-24 09:10:03 -04:00
Kenneth Moreland
11996f133f Remove virtual methods from ColorTable
Virtual methods are being deprecated, so remove their use from the
ColorTable classes. Instead of using a virtual method to look up a value
in the ColorTable, we essentially use a switch statement. This change
also simplified the code quite a bit.

The execution object used to use pointers to handle the virtual objects.
That is no longer necessary, so a simple `vtkm::exec::ColorTable` is
returned for execution objects. (Note that this `ColorTable` contains
pointers that are specific for the particular device.) This is a non-
backward compabible change. However, the only place (outside of the
`ColorTable` implementation itself) was a single worklet for converting
scalars to colors (`vtkm::worklet::colorconversion::TransferFunction`).
This is unlikely to affect anyone.

I also "fixed" some names in enum structs. There has been some
inconsistencies in VTK-m on whether items in an enum struct are
capitolized or camel case. We seem to moving toward camel case, so
deprecate some old names.
2020-09-14 13:26:16 -06:00
Kenneth Moreland
b27e4c7ea6 Ignore files for deprecated virtual classes for SourceInInstall test
If `VTKm_NO_DEPRECATED_VIRTUAL` is on, then these classes are not
installed. Thus, add exceptions for these files to avoid test failures.

We could get fancier by only checking if `VTKm_NO_DEPRECATED_VIRTUAL` is
off, but that seems heavy-handed to make a regression test for something
that will go away.

These exceptions should be removed once the files are removed.
2020-09-09 06:13:07 -06:00
Vicente Bolea
42009394fc Merge topic 'fix-xl-warnings'
e3d734708 IBM XL: disable unused-template pragma for xl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2230
2020-08-21 17:36:52 -04:00
Vicente Adolfo Bolea Sanchez
e3d7347080 IBM XL: disable unused-template pragma for xl
Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-08-21 15:40:05 -04:00
Robert Maynard
1d6d812922 VTKmConfig: Only modify vtkm::cuda when it is an installed target 2020-08-21 11:59:24 -04:00
Robert Maynard
96fc02ebca VTK-m when using CMake 3.18 can propagate cuda flags cleanly 2020-08-20 13:12:05 -04:00
Robert Maynard
78a6631026 Correct cuda compiler flag ordering for clang as CUDA host compiler 2020-08-20 08:34:23 -04:00
Vicente Adolfo Bolea Sanchez
afd394377e cmake: split vtkm_filter into common|extra|contour|gradient
There is a limitation in Windows builds using VS2019 where libraries cannot be
bigger than 4GiB. This is normally not an issue but in `VTKm` due to its strong
template usage libraries can reach that size.

The `VTKm` filter library is can easily reach that size and it will halt the
build

This MR tries to avoid reaching those sizes for now by splitting the filter
library into four smaller libraries.

The proposal scheme is:

It splits vtkm-filter into:

  - vtkm-common, Classes that are dependencies of other filter libs.
  - vtkm-contour, Contour class and its instantiations.
  - vtkm-contour, Gradient class and its instantiations.
  - vtkm-extra, Classes other than Contour or Gradient that are
    not dependencies.

Signed-off-by: Vicente Adolfo Bolea Sanchez <vicente.bolea@kitware.com>
2020-08-19 19:20:43 -04:00
Nick
4e72eb0437 Don't apply pyexpander fix on Windows. 2020-08-17 16:39:47 -04:00
Nick
959db40aae Find expander.py on the syspath, do not call it from a Python interpreter. 2020-08-15 11:24:30 -04:00
Robert Maynard
7692485831 Make sure we use c++14 when using CUDA 11+ 2020-08-13 16:02:24 -04:00
Robert Maynard
64efa64015 Kokkos: make sure we don't pass multiple rdc flags 2020-08-13 16:02:24 -04:00
Sujin Philip
b2f4c8e5ef Switch -O3 to -O2 on Linux with Cuda 10 2020-08-12 13:55:24 -04:00
Sujin Philip
452f61e290 Add Kokkos backend 2020-08-12 13:55:24 -04:00
Robert Maynard
477d225415 Always have VTK-m tests enable vtkmdiy mpi environment 2020-08-11 17:02:19 -04:00
Robert Maynard
7092bb9210 Make sure we don't leak our findmpi module
Consumers of VTK-m shouldn't use VTK-m find mpi module unless
they explicitly want to. This makes sure that by default only
VTK-m uses it.
2020-06-19 11:43:36 -04:00
Sujin Philip
b7d0c94f1b Merge topic 'diy-mpi-nompi'
934f085e0 Build diy as a library
f0a37ac6a Merge branch 'upstream-diy' into diy-mpi-nompi
7687aabf8 diy 2020-06-05 (b62915aa)
6ca2b9f87 Point to new version of Diy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !2123
2020-06-08 21:25:54 -04:00
Sujin Philip
934f085e09 Build diy as a library
Support both mpi and nompi versions simultaneously.
2020-06-08 15:57:51 -05:00
Robert Maynard
a652f7fe1e Update vtk-m doxygen to generate less warnings 2020-06-01 16:58:32 -04:00
Robert Maynard
565d5a3a2e Remove CMake workarounds for version < 3.12 2020-05-29 17:15:06 -04:00
NAThompson
331b80a783 More understandable VTKm options for symbol visibility. 2020-05-12 16:02:16 -04:00
Robert Maynard
b3924ef302 Add an asan to our gitlab ci suite 2020-04-20 11:26:26 -04:00
Ben Boeckel
e890a98023 FindTBB: synchronize with VTK 2020-04-17 08:30:02 -04:00
Sujin Philip
c102ea556c Update cmake minimum required version to 3.12 2020-04-13 12:42:28 -05:00
James
95ba497bb2 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-24 10:53:06 -04:00
Kenneth Moreland
75a46dc2eb Remove tao tuple from third party libraries
We are no longer using this code. It has been replaced by vtkm::Tuple.
2020-03-16 17:12:17 -06:00
James
8579d54cb9 Merge remote-tracking branch 'upstream/master' into Enhance-Testing-From-File 2020-03-12 10:10:03 -04:00
James
7a73b0f547 Updating testing 2020-03-11 13:55:14 -04:00
James
6162fdc591 Moving new test code to the Testing.h header. 2020-01-08 14:32:15 -05:00
Robert Maynard
53158aa2ea Don't allow ninja job pool sizes to be negative
If the job pool size becomes negative, ninja treats
it as an absurdly large positive integer and
errors out.
2019-12-19 08:44:12 -05:00
James
743094ffc9 Adding parser for arguments. 2019-12-17 11:07:47 -05:00