The shader is called “fluidShape”. One thing to be aware of is that the fluidShape node is both a shader and a shape. When you create it off of the fluids menu it gets assigned to its self and thus appears as a rendered box. When you create it off of the shader menu it is assigned to whatever is selected. The box shown in the UI will then not render as it is not assigned any shader.
Note that you probably will want to use fewer, larger particles for the best effect. Currently the fluid, when assigned to particles can have each particle cast raytrace shadows and shadow its self. However note that currently you cannot have fluid shaded particles shadow other particles(a bug). Thus one needs to rely on the internal self shadowing of the particle, so larger(and fewer) is better. One can get around this problem by instancing a fluidShape (created through the fluids menu) using particle instancer, but this restricts how one can give individual particles varying transparency, etc.
As a starting point create some particles with cloud render attribute and assign a fluidShape shader to them. On the fluid shape select the thick cloud puff preset in the attribute editor. Note that this preset uses a sphere dropoff shape, which is important when shading particles, as the particles are spherical, not cubes.
In terms of render speed make sure with your particles are large, but do not overlap more than required. In some cases you may be able to lower the texture frequency along with the shading quality to speed things up a bit.
The fun part is using the particleSamplerInfo node to drive attributes on the fluidShape. One can control any shading or texturing attribute… for example opacityInputBias could be linked to particle age somehow to make particles pluff up when they are born. The texture offset could be driven by location of particle creation such that the particles are initially all cut out of the same large block of noise. Note that if you wish to affect the color, you can define a color range in the ramp then drive colorInputBias. Another technique is to directly set the color indice values on the fluid color ramp using runtime particle expressions.
Note that any attributes in the Surface, Shading, ShadingQuality, Textures and Lighting blocks can be set per particle using particleSamplerInfo. Attributes in contentsDetails, however, like densityScale are computed once per frame, not per pixel and thus cannot be set per particle.
Duncan