rlguy / GridFluidSim3D

A PIC/FLIP fluid simulation based on the methods found in Robert Bridson's "Fluid Simulation for Computer Graphics"
zlib License
783 stars 95 forks source link

Building for windows! #19

Open alvinhager opened 3 years ago

alvinhager commented 3 years ago

Hello there! I'm trying to create a similar project to yours and am trying to test out your project for inspiration!

I am having trouble building for windows. The program itself builds but the bakefiles of the frames only contain the headers, not the actual mesh information. Is this anything you've run into? Is the latest push to github working properly? Thank you for any insights, would love to try and recreate your effect for use in Blender! :)

Looking at the code and doing some printouts shows that the meshes have 0 vertices in them, implying something has gone awry. Testing using NVIDIA graphics card (GeForce RTX 2080 SUPER) and CUDA toolkit for openCL library and header.

Gorgeous work! Hopefully creating an issue here doesn't bug you too much.

Here is a printout when trying to run the lego dambreak:


26-Mar-2021 11h33m37s

Initializing Simulation Grids: Grid Dimensions: 128 x 128 x 128 Cell Size: 0.0625 Constructing MACVelocityField: 0.125 Constructing FluidMaterialGrid: 0.031 Constructing LevelSet: 0.0629 26-Mar-2021 11h33m37s disableIsotropicSurfaceReconstruction 26-Mar-2021 11h33m37s enableBrickOutput: 0.1875 0.225 0.1875 26-Mar-2021 11h33m37s addImplicitFluidPoint: 4 4 4 5 26-Mar-2021 11h33m37s addFluidCuboid: 0 0 0 8 1 8 26-Mar-2021 11h33m37s addBodyForce: 0 -25 0 26-Mar-2021 11h33m37s initialize

Initializing Simulation: Initializing Solid Cells: 0 Initializing Fluid Material: 1.5629 Initializing OpenCL Objects: 1.359


OpenCL ParticleAdvector Device Info: CL_DEVICE_NAME: Intel(R) UHD Graphics 630 CL_DEVICE_VENDOR: Intel(R) Corporation CL_DEVICE_VERSION: OpenCL 2.1 NEO CL_DRIVER_VERSION: 27.20.100.8681 CL_DEVICE_OPENCL_C_VERSION: OpenCL C 2.0 CL_DEVICE_TYPE: GPU CL_DEVICE_MAX_CLOCK_FREQUENCY: 1200MHz CL_DEVICE_GLOBAL_MEM_SIZE: 1717985280 CL_DEVICE_LOCAL_MEM_SIZE: 65536 CL_DEVICE_MAX_MEM_ALLOC_SIZE: 858992640 CL_DEVICE_MAX_WORK_GROUP_SIZE: 256 CL_DEVICE_MAX_WORK_ITEM_SIZES: 256 x 256 x 256

OpenCL ParticleAdvector Kernel Info: CL_KERNEL_FUNCTION_NAME: tricubic_interpolate_kernel CL_KERNEL_ATTRIBUTES: CL_KERNEL_NUM_ARGS: 3611970751797657605 CL_KERNEL_WORK_GROUP_SIZE: 256 CL_KERNEL_LOCAL_MEM_SIZE: 0 CL_KERNEL_PRIVATE_MEM_SIZE: 0 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: 8


OpenCL CLScalarField Device Info: CL_DEVICE_NAME: Intel(R) UHD Graphics 630 CL_DEVICE_VENDOR: Intel(R) Corporation CL_DEVICE_VERSION: OpenCL 2.1 NEO CL_DRIVER_VERSION: 27.20.100.8681 CL_DEVICE_OPENCL_C_VERSION: OpenCL C 2.0 CL_DEVICE_TYPE: GPU CL_DEVICE_MAX_CLOCK_FREQUENCY: 1200MHz CL_DEVICE_GLOBAL_MEM_SIZE: 1717985280 CL_DEVICE_LOCAL_MEM_SIZE: 65536 CL_DEVICE_MAX_MEM_ALLOC_SIZE: 858992640 CL_DEVICE_MAX_WORK_GROUP_SIZE: 256 CL_DEVICE_MAX_WORK_ITEM_SIZES: 256 x 256 x 256

OpenCL CLScalarField Kernel Info: CL_KERNEL_FUNCTION_NAME: compute_scalar_field_points CL_KERNEL_ATTRIBUTES: CL_KERNEL_NUM_ARGS: 3611970751797657608 CL_KERNEL_WORK_GROUP_SIZE: 256 CL_KERNEL_LOCAL_MEM_SIZE: 0 CL_KERNEL_PRIVATE_MEM_SIZE: 0 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: 32

CL_KERNEL_FUNCTION_NAME: compute_scalar_field_point_values CL_KERNEL_ATTRIBUTES: CL_KERNEL_NUM_ARGS: 3611970751797657608 CL_KERNEL_WORK_GROUP_SIZE: 256 CL_KERNEL_LOCAL_MEM_SIZE: 0 CL_KERNEL_PRIVATE_MEM_SIZE: 0 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: 32

CL_KERNEL_FUNCTION_NAME: compute_scalar_weight_field_point_values CL_KERNEL_ATTRIBUTES: CL_KERNEL_NUM_ARGS: 3611970751797657608 CL_KERNEL_WORK_GROUP_SIZE: 256 CL_KERNEL_LOCAL_MEM_SIZE: 0 CL_KERNEL_PRIVATE_MEM_SIZE: 0 CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: 32

rlguy commented 3 years ago

Hi! It looks like the issue might be that OpenCL is reporting that there is 0 memory available for the program to use (CL_KERNEL_LOCAL_MEM_SIZE = 0). The program uses the CL_KERNEL_LOCAL_MEM_SIZE to figure out how much memory to use during mesh generation and other simulation computations, so I assume what is happening is that no mesh is being generated.

I am not sure what the cause of this could be. I am sorry to say that this repository is no longer in development. The simulator used in this repository has transitioned into this Blender-FLIP-Fluids addon project (it's still open source), which is functional and well-tested.

During the beta testing period of the FLIP Fluids addon project, we found a few compatibility issues with the GPU acceleration code on various hardware. So this could be a reason why it may not be working on your system. Eventually all GPU acceleration features were removed in favor of more optimized CPU methods.

Hope this info helps!

alvinhager commented 3 years ago

Thank you very much for taking the time to answer!

I think that hint might actually help a bit 🙂 I'm gonna try debugging a little more and also check out your blender addon! Looking forward to seeing what other cool stuff you come up with.

/A


From: Ryan Guy @.> Sent: Friday, March 26, 2021 5:17 PM To: rlguy/GridFluidSim3D @.> Cc: funky_monkey99 @.>; Author @.> Subject: Re: [rlguy/GridFluidSim3D] Building for windows! (#19)

Hi! It looks like the issue might be that OpenCL is reporting that there is 0 memory available for the program to use (CL_KERNEL_LOCAL_MEM_SIZE = 0). The program uses the CL_KERNEL_LOCAL_MEM_SIZE to figure out how much memory to use during mesh generation and other simulation computations, so I assume what is happening is that no mesh is being generated.

I am not sure what the cause of this could be. I am sorry to say that this repository is no longer in development. The simulator used in this repository has transitioned into this Blender-FLIP-Fluids addon projecthttps://github.com/rlguy/Blender-FLIP-Fluids, which is functional and well-tested.

During the beta testing period of the FLIP Fluids addon project, we found a few compatibility issues with the GPU acceleration code on various hardware. So this could be a reason why it may not be working on your system. Eventually all GPU acceleration features were removed in favor of more optimized CPU methods.

Hope this info helps!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/rlguy/GridFluidSim3D/issues/19#issuecomment-808388851, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGCBL2B4YDD3J2M7445H2B3TFS6RFANCNFSM4Z26LFLA.