Walther Carballo-Hernández

Maxime Pelcat
email: mpelcat@insa-rennes.fr

François Berry
email: francois.berry@uca.fr

Automatic CNN Model Partitioning for GPU/FPGA-based Embedded Heterogeneous Accelerators using Geometric Programming

Keywords: Heterogeneous platform, Convolutional Neural Network, Geometric programming, Mathematical optimization, Embedded design

whether they are published or not. The documents may come

Introduction

CNN processing at the edge opens new challenges by requiring embedded systems to support strong computational workloads. This rapid evolution fosters more complex hardware architectures comprising interconnected heterogeneous elements. GPU, dedicated ASIC and FPGA accelerators are currently platforms of choice for porting CNNs, as their programmability and internal parallelism fit well the concurrency and the customization needs of modern CNNs. The hardware/software co-design intricacy increases when logic and memory constraints are taken into consideration concurrently in system DSE with the objective to optimize energy consumption and throughput. CNN inference deployment at the edge with high performance per Watt requires careful co-design of hardware architecture and algorithm. Systems are currently becoming more complex on both sides: architecturally and algorithmically. Embedded platforms include several asymmetrical processing elements and different levels of memory hierarchies. Thus, design solution selection from DSE requires optimization techniques to choose an appropriate partition considering available resources and performance goals. To facilitate DSE on the edge with heterogeneous platforms, an optimization problem formulation is formalized. The resulting objective and constraint 1 3 functions have the form of a GGP problem. This family of optimization problems are mostly non-convex, and thus do not have a unique optimal point. However, in some cases they can be reduced and solved as GP problems. Since GP problems are fast solvable, in polynomial time, and ensure a global optimal solution, it is strongly desired to transform a GGP into a GP problem when possible. Nevertheless, this is not a trivial task, as it requires a deep expertise on the nature of the problem at hand. In this work, the following contribution is presented:

Given a system performance objective and constraints, it is shown that a partitioning method of a CNN layer over a set of heterogeneous processing elements can be analytically described, expressing objective and constraints in a posynomial form for individual processing elements. A GGP optimization problem is formulated and a demonstration that the GGP equality constraints can be relaxed so as to solve the problem in the form of a set of simpler GP problems. This relaxation preserves the properties of GP problems, such as the existence of a global optimal solution and the polynomial solving time.

The paper is organized as follows: In Section 2, an analysis of related state-of-the-art works is presented, focusing on system modeling for Deep Learning (DL), as well as on partitioning, scheduling and optimization techniques. Section 3 explains the context of measurement-based system performance modeling of CNN inference and introduces the concepts of monomial and posynomial. In Section 4, the theory behind GGP and GP is presented and explained, how a GGP problem can be relaxed to a GP problem using a penalization technique based on the condensation solution. In Section 5, GP optimization is applied to common CNN layer configurations and find the optimal partitions. Finally, in Section 6, it is discussed the results and observations.

Related Works

Since the early years of DL-oriented embedded hardware platforms, research has dedicated large efforts on partitioning machine learning efficiently over several edge devices [START_REF] Zhou | Distributing deep neural networks with containerized partitions at the edge[END_REF]. The partitioning solutions must take into consideration the hardware profiling, partitioning, scheduling and deployment. Fused-layer is a popular technique permitting two or several layers to be mapped on a same device, reducing inter-device communication. Similarly, a set of containers, such as Docker containers, can be instantiated to a model and treat partitions as cloud services. In [START_REF] Zhou | Distributing deep neural networks with containerized partitions at the edge[END_REF], a layer-wise containerization of a Deep Neural Networks (DNN) with fused-layer is proposed by using analytical regression models of different DNN configurations and optimizing analytically with dynamic programming. In [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF], a DNN is partitioned at a finer granularity, mapping individual neurons to different Internet of Things (IoT) devices. However, the optimization of [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF] is focused on reducing inter-device communication using a similar heuristic as Kernighan-Lin heuristic [START_REF] Kernighan | An efficient heuristic procedure for partitioning graphs[END_REF], swapping partition nodes in a graph abstraction. This solution is tailored to very constrained resources where communication is a dominating bottleneck. In [START_REF] Vanishree | CoIn: Accelerated CNN co-inference through data partitioning on heterogeneous devices[END_REF], the previous use case is extended to heterogeneous platforms with different devices including CPUs, FPGAs and GPUs. Therefore, communication channels with several latencies and throughputs are considered in the optimization problem. Vanishree et al., create a Roofline analytical model to choose the appropriate batch partitioning ratio of each device the platform. In [5], data redundancy is exploited on fused-layers for contiguous partitions with the objective to reduce inter-systems communication overhead. For this purpose, the optimization process decides when to allow or when to avoid layer fusing. In the same publication [5], a discussion on partition size and communication overhead is covered. Extending the work of [5], Stahl et al., demonstrate that layer-wise partitioning can be found using Integer Linear Programming (ILP) optimization problems considering resource constraints and minimizing communication [6]. Finally, in [START_REF] Busia | ALOHA: A unified platform-aware evaluation method for CNNs execution on heterogeneous systems at the edge[END_REF], an assisting tool solution is introduced for embedded hardware characterization using computation and communication knowledge from heterogeneous platforms. The estimation precision is increased by introducing detailed information of the system for different CNN operations. Then, the scheduler uses a greedy layer-wise mapping as optimization strategy, selecting the most performing device iteratively for each layer. While this hardware-awareness is usually known to the designer, many internal parameters are difficult to acquire in practise or may be hidden to the designer. This solution from [START_REF] Busia | ALOHA: A unified platform-aware evaluation method for CNNs execution on heterogeneous systems at the edge[END_REF], however, does not require a performance-based measurement database generation, which in many cases may save some development time.

Same authors in [8] add the consideration of weightdominated CNN layers for layer fuse. Their objective functions seeks an even weight distribution on several edge devices. However, in heterogeneous systems, this may not be a desired property, since some elements are more efficient with memory access handling or embed more memory.

With respect to this state-of-the-art, the proposed method is less specific to a given deep learning solution. A resource and objective formulation are proposed for the fast optimization of multi-system CNN partitioning that combines resource constraints, performance constraints and performance objectives. The embarrassingly parallel nature of CNNs is exploited to simplify the problem formulation. The proposition is intended to be widely applicable and adaptable to a large set of CNN partitioning problems.

Monomial and Posynomial Model Formulation

The convolution is the most common operation in convolutional layers on CNN models, therefore it is also the most time consuming and most parameter intensive workload [START_REF] Cong | Minimizing computation in convolutional neural networks[END_REF]. Many efforts on state-of-the-art works focus on obtaining an analytical behavioural model for this operation on given devices, modeled together with a ReLU activation function. With the selection of the representative structural features, the computation and communication workloads are described. Afterwards, a dataset was created by stochastically exciting the heterogeneous system. Finally, a set of performance models were derived with modeling techniques from these data points. The obtained models are mostly represented in a monomial or posynomial form. It is discussed why this specific form is required to be solvable with GGP in Section 4. In this paper, two metrics or Key Performance Indicators (KPIs) are considered: processing latency (LAT) and processing energy (E). As many other physical models in electronic devices, these can represent a system in posynomial form. The platform from Fig. 1 presents the experimental setup. A custom embedded heterogeneous platform is employed incorporating an Nvidia ® Jetson TX2 ® embedded CPU-GPU (green), and an Intel ® Cyclone 10 GX FPGA (blue) using a dataflow Direct Hardware Mapping (DHM) technique [START_REF] Abdelouahab | Tactics to directly map CNN graphs on embedded FPGAs[END_REF]. Interconnection is established by a Peripheral Component Interconnect Express (PCIe) Gen2 x4 (5 GT/s) communication channel (gray). The communication link between CPU-GPU lie on the same System-on-Chip (SoC) die, therefore they share a common external memory. DHM technique offers an energy-efficient but resourcehungry FPGA implementation. The results can however be extended to larger architectures and more constraints, with limited effort. GP is a an optimization technique that is useful to solve large scale problems by formalizing them into not-toorestrictive mathematical models. The system performance models must comply with GP specific analytical formulation based on two forms of expressions. The first form to consider is the monomial. A monomial has the form presented in Eq. 1:

Where the function u ∶ ℝ n → ℝ maps an input feature vector X (such as X in previous section) to a real value. c is strictly positive c > 0 , a i ∈ ℝ and the domain is also strictly positive D(u) = ℝ n ++ , or explained differently, the input feature vector X must be fully composed of non-zero positive real values. As a second condition, a posynomial is a linear combination of monomials as shown in Eq. 2:

Where, similarly to Eq. 1, each element c k is strictly posi- tive, c k > 0 . To fully exploit the posynomials in the GP context, the performance system models for latency (LAT) and energy (E) must follow these rules. These performance metrics, when evaluated for CNNs, tend to fit well the GP theory. Indeed, as CNNs layers heavily parallelize, their cost in terms of energy and time tend to be proportional to the product of their structural dimensions, leading to monomial formulations. Moreover, the cost of a complete algorithm will tend to be the sum of individual layers costs, leading to posynomial formulations. These intuitions motivate the study of GP for CNN partitioning optimization.

Optimization Problem Formulation

After selecting analytical modeling and partitioning technique, the methodology further proceeds with the formal definition of the problem formulation of a CNN layer. The solution of the optimization problem heavily depends on the nature of the objective function and constraint choice. Mathematical properties, such as, curvature and monotonicity have a critical role on the analytical or numerical tools to be exploited. Furthermore, expertise and a-priori knowledge on the problem is key to mathematically manipulate the problem and transform it from a non-convex to a convex function [START_REF] Boyd | Convex optimization[END_REF].

(1) u(X) = c n ∏ i=1 x a i i (2) v(X) = K ∑ k=1 c k u(X) = K ∑ k=1 c k n ∏ i=1 x a ik ik
In this section, it is described how the posynomial models of Section 3 are used to formulate the optimization problem as a set of GP problems. Nevertheless, because GP does not allow monomial expressions as equality constraints, this violates GP problem formulation. Therefore, a relaxation technique based on objective function penalization is proposed. The added penalization term is obtained by the transformation of the equality constraints to posynomials, this technique is known as condensation [START_REF] Rountree | A penalty treatment of equality constraints in generalized geometric programming[END_REF]. This reformulation provides a quick numerical solution in tenths of iterations, being each iteration solvable in polynomial time with interior-point methods using CVXPY 1.0 library [START_REF] Agrawal | Disciplined geometric programming[END_REF]. Interior-point methods approximate a numerical solution by implicitly adding the inequality constraints to the objective function. Some mathematical transformations are applied to convert the problem to a convex and differentiable one and solvable by Newton's method. The solution converges to a set of solutions towards the optimal solution per each iteration, this trajectory is known as the central path [START_REF] Boyd | Convex optimization[END_REF].

GGP Formulation of the Heterogeneous CNN Layer Partitioning

GP problems are used in multiple domains for their great versatility. Because usually GP are non-convex but easily transformed into convex problems, they have gained interest in optimization formulation, since GP convex problems have been proven to be fast solvable [START_REF] Boyd | Convex optimization[END_REF]. The fact that the GP solution is analytically found makes it highly desirable but the formulation of the problem can be difficult. The strict mathematical conditions on the objective and constraint functions require specific analytical forms. A GP problem has the form of Eq. 3:

Where the objective function f 0 (X) and the inequality con- straint functions f i (X) shall be posynomials (Eq. 2 from Sec- tion 3), and the equality constraints h i (X) shall be monomials (Eq. 1 from Section 3) [START_REF] Boyd | Convex optimization[END_REF]. If the problem is non-convex, it is possible to perform mathematical transformations to convert it to the convex form [START_REF] Boyd | Convex optimization[END_REF].

The GGP formulation of the GPU-FPGA partitioning of a CNN layer can be formalized below in Eq. 4:

(3)

minimize f 0 (X) subject to f i (X) ≤ 1; i = 1, 2, ⋯ , p h i (X) = 1; i = 1, 2, ⋯ , m
Where X is the input feature vector containing the structural features of a CNN layer. These are H I (height of the IFM), W I (width of the IFM), C (channels of the IFM), k (size of kernel filter) and N (number of kernel filters). X F and X G are the structural input feature vectors and sub sets of X to be allocated on the FPGA and GPU, respectively. LAT Het (X) is the posynomial model of the execution latency. ALM F (X F ) , ALUT F (X F ) , LAB F (X F ) and M20K F (X F ) are posynomial resource model inequalities for the target FPGA, respecting the maximum logic and memory element count of the device. In the experiments (Section 5), the Intel ® FPGA resources were selected: Adaptive Logic Modules (ALMs), Adaptive Look-Up Tables (ALUTs), Logic Array Blocks (LABs) and M20K memories. Not only does the objective function directly depend on the taken partitioning strategy, but also the constraints last equality. With the purpose of forcing the algorithm to converge to non-trivial solutions (e.g. executing nothing), the equality constraint X F + X G = X is added. As an example, for the grouped convolution, the number of channels on the FPGA ( C F ) and the number of channels on the GPU ( C G ) must match the total number of channels before splitting, while keeping other features constant, or C F + C G = C . Unfortunately, this equality constraint is a sum of monomials, therefore a posynomial. For GP, this definition violates the monomial equality constraint from Eq. 3. A GP is a particular case of GGP, which accepts posynomials as equality constraints, but the GGP problem is no longer convex nor a method to find an optimal solution is known. In this case, multiple heuristics have been proposed to convert a GGP to a GP using penalization terms [START_REF] Burns | Generalized geometric programming with many equality constraints[END_REF]. In next section, a condensation solution to relax the posynomial equality constraints to the given use-case is proposed.

GGP Penalization by Equality Constraints Condensation

As discussed in previous section, Eq. 4 includes equality constraints that violate the conditions of GP. Nevertheless, these expressions can be transformed from posynomials to single set of monomials of the following form using the condensation technique proposed in [START_REF] Rountree | A penalty treatment of equality constraints in generalized geometric programming[END_REF]. These new expressions h are computed following the function 5:

(4)

minimize LAT Het (X) subject to ALM F (X F ) ≤ ALM max ALUT F (X F ) ≤ ALUT max LAB F (X F ) ≤ LAB max M20K F (X F ) ≤ M20K max X F + X G = X
Where X is a feasible solution starting point. For example, an a-priori solution X can be a naive partitioning that respects the problem constraints. u t , t ∈ T are each of the T monomial terms (Eq. 1) in all posynomial equality constraints h i (in the form v of Eq. 2). Finally, the exponent

t ( X) = u t ( X) h i ( X)
is the result of the arithmetic-geometric inequality approximation, transforming any posynomial to a monomial. Since t is a ratio, then the basic property h(X, X) ≤ h(X) of the arithmetic-geometric inequality applies. h is known as a posynomial condensed to a mono- mial. Notice that, because h has all the properties of a mono- mial, these constraints cab be relaxed by including a penalization term in the objective function, while keeping the posynomial conditions and changing the equality to inequality constraints:

Where each k is the penalization weight of the original objective function. Note that these weights add parameters to be tuned in the optimization process. Now f i and h i con- straint functions are both posynomial inequalities, as a result of the relaxation by condensation. Although now the problem is GP-compliant, a new problem arises. The penalization weights k must be carefully selected for each equality constraint. For this purpose, several heuristics exist [START_REF] Burns | Generalized geometric programming with many equality constraints[END_REF].

In simple cases, k selection can be solved numerically by incrementally changing the weight values, this process is known as tightening [START_REF] Rountree | A penalty treatment of equality constraints in generalized geometric programming[END_REF]. When the tightened condensed constraints approximate the desired value, the solution is accepted, and that value for k is selected. This technique is similar to other primal-dual optimization problems (duality), like Lagragian-based optimization techniques [START_REF] Boyd | Convex optimization[END_REF]. Where, in order to solve the primal formulation of a possibly nonconvex problem without any modification, the dual problem

(5) h(X, X) = T ∏ t=1 u t (X) 𝜖 t ( X) 𝜖 t ( X) (6) minimize f 0 (X) + m ∑ k=1 𝛼 k hk (X, X) -1 subject to f i (X) ≤ 1; i = 1, 2, ⋯ , p h i (X) ≤ 1; i = 1, 2, ⋯ , m
must be first formulated. These dual optimization problems incorporate, after some manipulation or transformation, the constraints into the objective function as penalization. For dual problem formulation, the posynomial condensation into a monomial from the penalization is based on the result of an approximation using the algebraic manipulation of the arithmetic-geometric inequality. Solving the dual problem is more tractable than solving the primal problem [START_REF] Boyd | A tutorial on geometric programming[END_REF]. In the following Section 5, we empirically demonstrate that it is possible to find the penalization parameters within a few iterations for different CNN layer configurations. Since each iteration is a GP problem, it is solvable in polynomial time. Thus, the final solution remains upper-bounded by the polynomial time complexity for the selected partitioning techniques.

Experimental Results

In this section, the results of the optimization problem definition of Section 4 with different CNN layer configurations are presented. The first results presented here consider a platform with only an embedded FPGA with a GPU, afterwards the objective function is easily modified to include more compute elements with different communication links between a CPU-GPU-FPGA platform. This is also the case for the constraints functions, which can be extended to include other embedded devices constraints.

Single Layer Optimization

Exploiting the heterogeneity of an embedded platform with a single FPGA-GPU coupling and a single communication link, an optimization problem is formulated in the form of Eq. 7 with the models of Section 3 and the objective function. from one node to the other ( LAT Comm ). Since the host shares the same memory between the CPU and GPU, but not for the FPGA; the FM with the structural features X F must be trans- ferred to the FPGA accelerator. Therefore, the communication latency depends on the shape of this partitioned IFM, or LAT Comm (X F ).

In Eq. 7, the selected partitioning technique is the grouped convolution. Therefore, the equality constraint only considers the channels on each device ( C F and C G ) to match the total number of channels on the layer (C).

As discussed in Section 4, the posynomial equality constraint violates the requirement for a GP solution. However, the constraint can be relaxed to an inequality by adding the penalization term based on the condensed posynomial. By incorporating this penalization term, the latency objective function increases smoothly when the grouped convolution constraints are not met. This is, when the solution chosen from the optimization problem does not compute the number of channels in the convolution layer. If the equality constraints are relaxed to inequality constraints, some solutions that were not originally feasible are now possible, and even optimal. In the case of the grouped convolution, if a constraint equality is relaxed to a less or equal, the obvious and most trivial solution to minimize the latency, would simply be processing the fewest number of IFM channels as possible. Namely, processing one single channel on the FPGA ( C F = 1 ) and one on the GPU ( C G = 1 ). Evidently, this is not a desired solution, since the IFM tensor is not fully processed. First, for this purpose, the condensed penalization term h(C F , C G , ĈF , ĈG ) must be obtained. Then, the equality constraint on the number of channels is removed. Using Eq. 5, with T = 2 , since the constraint consists of two monomials, the posynomial is condensed to a monomial in the following Eq. 8:

This penalization term is a monomial that includes the channel parameters of each device. Thus by adding it to the objective function, it preserves its posynomial form. To incorporate this [START_REF] Busia | ALOHA: A unified platform-aware evaluation method for CNNs execution on heterogeneous systems at the edge[END_REF]

minimize LAT F (X F ) + LAT G (X G ) + LAT Comm (X F ) subject to ALM F (X F ) ≤ ALM max ALUT F (X F ) ≤ ALUT max LAB F (X F ) ≤ LAB max M20K F (X F ) ≤ M20K max C F + C G = C (8) h(C F , C G , ĈF , ĈG ) = ⎡ ⎢ ⎢ ⎢ ⎣ C F C ĈF ĈF + ĈG ⎤ ⎥ ⎥ ⎥ ⎦ ĈF ĈF + Ĉ G ⎡ ⎢ ⎢ ⎢ ⎣ C G C ĈG ĈF + ĈG ⎤ ⎥ ⎥ ⎥ ⎦ Ĉ G ĈF + Ĉ G
term in the objective function, it is only necessary to add the penalization with a penalization weight, 𝛼 h . As for an instance,

LAT F (X F ) + LAT G (X G ) + LAT Comm (X F ) + 𝛼 h(C F , C G , ĈF , ĈG ) .
For one equality constraint condensation, only one penalization weight is required ( m = 1 for Eq. 6). Consequently, it is feasible to sweep over different values of and tighten the relaxed inequality constraint, until

C F +C G C
approximates the unity.

Figure 3, shows an example with an input tensor sequential processing with grouped convolution partitioning of configuration size of H I = W I = 112 , C I = 16 , k = 1 and N = 32 for latency minimization. For a grouped convolu- tion partitioning, all features equal for each device are kept, except for the number of channels. Resource constraints are taken into account. Each bar represents a partitioning iteration chosen by the solution of the GP solver with a given value. The blue bars are the channels mapped on the FPGA, while the green bars are mapped to the GPU. By increasing the value of , the constraint (red line) is tightened at each iteration, penalizing the objective function until the normalized relaxed constraint function approximates 1. For this instance, α = 170, represented by the orange dashed line, is the first value to satisfy the constraint with C F = 14 and C G = 2 . Additionally, for this test a balanced feasible solu- tion is chosen for the constraint condensation. This is, the number of channels is equally distributed for both processing devices ( ĈF = ĈG = 8 ). An important observation from Fig. 3 is that multiple solutions fulfill the tightened equality constraint. Therefore, there are infinite feasible solutions after iteration 17. However, as shown in Fig. 4, since the latency (solid purple line) has a non-decreasing monotonous nature, the following solutions perform worse than the first accepted iteration (dashed orange line). The solutions found on each iteration are found in polynomial time with respect of the inputs X , X F and X G . As a consequence, the solution of each GP problem remains bounded by polynomial time and, fixing a step size on , so is the iterative solution.

The GGP objective function can be easily modified to incorporate several computing devices with their respective communication bus linked to the other devices. Equation 9 shows an example of an objective function reformulation with the CPU latency model inclusion ( LAT C (X C ) ). Where X C are the features of the CNN layer deployed on the CPU. Also communication links LAT C-G Comm (X C-G ) and LAT C-F Comm (X C-F ) are incorporated to consider the latency of the communication overhead of inter-device FM transfers between CPU and both the other devices. Additionally, the condensation and penalization term ( h ) in the objec- tive function must also include the features of the modified equality constrain (

C C + C F + C G = C). 1 3 (9) Computation LAT C (X C ) + LAT F (X F ) + LAT G (X G )+ Communication LAT F-G Comm (X F-G ) + LAT C-G Comm (X C-G ) + LAT C-F Comm (X C-F )+ Penalization 𝛼 h(C C , C F , C G , ĈC , ĈF , ĈG )
Figure 3 First iterations of a relaxed GGP sequential grouped convolution partitioning of an input tensor with 16 channels ( C = 16 ) with an increasing . The problem is solved as a set of GP problems and he tightening only takes a few iterations (iteration 17 with = 170 ) to find an acceptable solution. Each step is in polynomial time and total optimisation lasts less than a couple of hundred of milliseconds.

Full CNN Model Optimization

In previous Subsection, the limited size of the problem still allowed greedy methods to solve single-layer optimization partitioning and scheduling. An approximate solution can be found by simply mapping the biggest partition to the fastest device with available resources. In this specific use-case, the FPGA dominates in both execution time and energy consumption. Therefore, GGP will find an optimal solution similar to greedy algorithms. However, this claim does not take into consideration the complexity of partition mapping in deeper layers. If the algorithm chooses to fit the whole first layer in one device, deeper layers are not considered to be mapped on that device. Since the device has already exhausted its resources or at least until it multiplexes in time, it is not available until it finishes its scheduled workload. Unfortunately, one of the main limitations of DHM is that layers can not be multiplexed in time. Therefore, each layer on full CNN models are individually mapped theoretically on several FPGA accelerators, simulating time-multiplexing with reduced resources. This can be simulated due to the analytical modeling and the presented formulation of layer-wise optimization presented in this section. The setup from the Fig. 6 is analyzed as use-case scenario.

Being L the number of convolutional layers in a CNN model, Eq. 10 represents the optimization problem reformulation for a complete network. The objective function now adds the individual performance model (latency for this example) of each layer l ( l = 1, 2, 3, … , L ). The resource inequality constraints are also modified to include the memory and computing elements utilization on each layer.

The summation and scaling (linear combination) of posynomial functions is also a posynomial [START_REF] Boyd | Convex optimization[END_REF][START_REF] Boyd | A tutorial on geometric programming[END_REF]. Thus, the objective and constraint functions are still posynomial and can be solved with GGP. Additionally, notice that from Eq. 10, the number equality constraints also increases linearly with respect to the number of layers in the CNN model. [START_REF] Abdelouahab | Tactics to directly map CNN graphs on embedded FPGAs[END_REF]

minimize Computation ������� ������� � L � l=1 LAT D (X l D ) + Communication ���������� ���������� � L � l=1 LAT Comm (X l D ) + Penalization ����������� ����������� � L � l=1 𝛼 l hl (X l D , Xl D ) -1 subject to L ∑ l=1 ALM F (X l F ) ≤ ALM max L ∑ l=1 ALUT F (X l F ) ≤ ALUT max L ∑ l=1 LAB F (X l F ) ≤ LAB max L ∑ l=1 M20K F (X l F ) ≤ M20K max L ∑ l=1 X l D = X l
Figure 5 Relaxed GGP sequential grouped convolution partitioning of an input tensor with 16 channels ( C = 16 ) with an increasing over a CPU-GPU-FPGA network.

3

Therefore, several penalization weights ( l ) and penalization function ( hl ) must be handled to iterative tighten the reformulated objective function. Each parameter l can be individually tightened as presented in previous subsection, until each constraint is fulfilled. Similarly, it is possible to increase simultaneously all the parameters on each step and individually stop each one when that specific equality constraint is fulfilled.

Although most of partitioning techniques are covered with the formulation of Eq. 10 (tiling, grouped convolution or channel-wise loop unrolling and depth-wise separable convolution), there is still one that can not be adapted to this formulation. The fused-layer considers that some FMs are not transferred between devices, in both sequential and concurrent execution. However, in Eq. 10, every single layer is considered to output an OFM that is intercommunicated between devices. The fused-layer technique consists in selecting which OFMs remain on the device to be computed as IFMs for the next layer, eliminating this way, the need of communication overhead. Consequently, a strategy must be chosen to reduce some terms of communication models LAT Comm (X l D ) . Since communication links are usually modelled with linear functions, ILP is a simple enough solution to explore all the combinations in polynomial time [6,8]. In Eq. 11, each communication term in the heterogeneous objective function from Eq. 10 is multiplied by the Heaviside function S(x) ∈ , also known as step function. This way, the optimization technique chooses between keeping the FM in the device and skip communication ( S(x) = 0 ) or to transfer the tensor ( S(x) = 1 ) on each layer.

Although the formulation from Stahl et al. [6,8] is simple and solvable with ILP, it does not consider the execution computation time. Therefore, this is only useful in cases where the Computation-to-Communication Ratio (CCR) is low, result of a hardware platform heavily bounded by communication. On the other hand, while Eq. 11, is a generalization and extension of their work it is, from a GGP perspective, unsolvable. This is because the formulation from Eq. 11 presents several drawbacks. The most important being, that the shifted Heaviside function H(x), from Eq. 12, is not a smooth differentiable function. Thus, it can not be solvable using interior-point algorithms, that depend on iterative gradient evaluation [START_REF] Boyd | A tutorial on geometric programming[END_REF].

As a consequence, analytical approximations of the step function must be used. Well-known sigmoid-like functions, such as the logistic function or trigonometric functions like [START_REF] Boyd | Convex optimization[END_REF] minimize 1 3

L ∑ l=1 LAT D (X l D ) + L ∑ l=1 S(X l D ) ⋅ LAT Comm (X l D ) (12) H(x) = 0 x < 1 1 x ≥ 1
arctan and tanh, are suitable candidates [START_REF] Boyd | Convex optimization[END_REF]. Approximation techniques such as, cubic and spline interpolations are also commonly employed to smooth and clip or bound the proposed function [START_REF] Auquiert | On the cubic l 1 spline interpolant to the heaviside function[END_REF]. Nevertheless, as discussed in Section 3, to preserve the posynomial properties, both terms in the product S(x) and LAT(X D ) , must be also posynomials. Furthermore, convexity and monotonicity must be also preserved to be solvable with GGP. This restricts the number of usable functions for fused-layer formulation, since they must follow the algebraic form. Thus, in Eq. 13, a simple exponential algebraic function is defined as communication weight function.

Figure 7 shows many algebraic communication weight functions (blue solid line) for different values of k ∈ ℕ . Notice that, the bigger the value of k is, the better the approximation is to the Heaviside function H(x) (red solid line). Additionally, using a symmetrical algebraic function (like with an even exponent) k can take also negative integer values. For simplicity purposes, we restrict k to take only natural numbers, ℕ . Another important remark is that, this is only true for the interval 0 ≤ x ≤ 1 . Therefore, these newly introduced interval constraints must be also considered on the full CNN optimization problem formulation.

(13) S(x) = x 2k , k ∈ ℕ Although, formulation from Eq. 13 solves the approximation problem in a posynomial form that can be solved by GGP, it introduces a new heuristic value k. As shown in Fig. 8, the choice of this value has a direct impact on the function approximation. The L2-Norm is chosen to visually and numerically evaluate the error difference between the Heaviside function and the communication weight function ( ||H(x) -S(x)|| ). For the full CNN model optimization for- mulation, a value of k = 100 is selected with an L2-Norm error of around 0.12. It is important to considerate that a big value of k can cause numerical issues that complicates convergence with no substantial difference between solutions.

Finally, the communication weight function S(x) is included in the GGP formulation for the full model optimization. Equation 14shows the modified objective function with the interval constraints of the approximation domain of S(x). Since, S(x) is a smooth differentiable posynomial, the weighted communication terms are still posynomials [START_REF] Boyd | Convex optimization[END_REF][START_REF] Boyd | A tutorial on geometric programming[END_REF]. Thus, this can be solved with the interior-point techniques, typical of GGP solutions. Considering that the derivative is mostly 0 for almost any value, except for values close to 1, any gradient-based function is heavily penalized by choosing features around 1. Additionally, the objective function also increases with the number of S(X l D ) for each layer that the features are transferred to another device.

3

To evaluate the full model optimization partitioning, Fig. 9 shows the resulting partitions per layer from Eq. 14 formulation on three CNN model configurations. For instance, the partitioning was processed channel-wise with the heterogeneous GConv partitioning on a full model. For visualization purposes, the normalized number of channels computed per device is presented instead of the actual number of channels per layer. The channel layer-wise partitioning ( 14)

minimize Computation ������� ������� � L � l=1 LAT D (X l D ) + Weighted Communication ����������������� ����������������� � L � l=1 S(X l D ) ⋅ LAT Comm (X l D ) + Penalization ����������� ����������� � L � l=1 𝛼 l hl (X l D , Xl D ) -1 subject to L ∑ l=1 ALM F (X l F ) ≤ ALM max L ∑ l=1 ALUT F (X l F ) ≤ ALUT max L ∑ l=1 LAB F (X l F ) ≤ LAB max L ∑ l=1 M20K F (X l F ) ≤ M20K max ⎫ ⎪ ⎪ ⎪ ⎪ ⎬ ⎪ ⎪ ⎪ ⎪ ⎭ FPGA Resource Constraints L ∑ l=1 X l D = X l � Partitioning Constraints 0 ≤ X l D X l � Interval Constraints
for AlexNet [START_REF] Krizhevsky | ImageNet classification with deep convolutional neural networks[END_REF] is presented in Subfigure 9a. Subfigure 9b shows the channel distribution for VGG16 [START_REF] Simonyan | Very deep convolutional networks for large-scale image recognition[END_REF]. Finally, in Subfigure 9c, the resulting partitioning for ResNet18 [START_REF] He | Deep residual learning for image recognition[END_REF] is presented. The latency of each device and the heterogeneous platform are compared against a single-device solution. The single-device is the CPU on the embedded platform with neither inter-device communication nor partitioning. This means, that the results of the dashed gray line represent the full layer execution on CPU, while the purple solid line with diamond markers represents the obtained heterogeneous solution. The solid red line with star markers represents the speed-up factor of the heterogeneous platform for each accelerated layer partition; compared against the single-device with no partition optimization nor acceleration. CPU partition is represented with an orange solid line with circle markers , while the GPU partition performance is represented with a green solid line with square markers and the FPGA partition performance is represented with a blue solid line with triangle markers . The model configurations are based on ImageNet dataset [START_REF] Deng | ImageNet: A large-scale hierarchical image database[END_REF] with an input image with dimensions 3 × 224 × 224 . From these results it can be observed that, compared against single layer channel optimization from previous Subsection, the resource utilization on the FPGA is distributed through all layers. Instead of mapping all channels of the first layers on the custom logic, as greedy-based algorithm, GGP optimization maps channel through deeper layers. However, as seen in the three Subfigures from Fig. 9, the GGP optimization formulation favors the first CNN layers to be directly mapped on the FPGA, which have a higher CCR. In the three cases, the input image was mapped over 80% on the FPGA (i.e. 61 channels from 64 for ResNet18). Deeper layers are bound by the communication overhead, which is a critical part of inter-device tensor transfers on heterogeneous platforms. Similarly, as evidence of this high CCR preference scalability, the three models present a different number of layers, but also a similar result. This is, smaller partition percentages for deeper layers on FPGA accelerator and a workload dominated mostly by GPU (round 70% i.e. 352 channels from 512 for ResNet18). It is also important to mention, that in some cases a feasible solution can not be found if the resource constraints are too strict [6, 8]. Nevertheless, because of the mathematical properties of GGP, when a solution is found, this one is the optimal solution. Table 1 displays the results from Fig. 9 using the Setup 2 from Fig. 6. These results are compared to state-of-theart related works addressing partitioning optimization for CNNs models on the edge, for both simulated/theoretical and real-world case scenarios. Many approaches have been proposed for optimization formulation depending on the objective and constraint functions. Additionally, different partitioning schemes have an impact on the partition selection. Zhao et al. [5] propose a workload sharing and stealing for a Raspberry Pi 3 CPU cluster based on the memory capabilities of each node. The memory footprint and communication overhead are treated as constraints in the scheduling problem formulation, achieving a time execution speed-up from 1.7× ∼ 2.5× for YOLOv2 [21]. As seen in Table 1, this technique, as many other partitioning methods, is inspired by the fused-layer [START_REF] Alwani | Fused-layer CNN accelerators[END_REF]. For bigger edge device networks, de Oliveira and Borin [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF], proposed the treatment of the hardware architecture network as a graph, taking advantage this way, of graph theory and operations to modify the graph. The authors in [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF] demonstrate that their technique is less effective while using greedy techniques and hand-made layer-wise partitions. The graphs include a form of communication heterogeneity by allowing different bandwidths on the WIFI link between nodes. In [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF], authors optimize the latency of inference by balancing the workload on LeNet [START_REF] Lecun | Object Recognition with Gradient-Based Learning[END_REF] with a speed up of 1.8× . Stahl et al. [6] present a con- vex ILP optimization formulation aiming for communication overhead reduction. The authors obtained from this formulation a binary selection of layers to fuse for a platform simulation. Authors test the partitioning on YOLOv2 with a speed-up of 15%. Stahl et al. [8] extended their work for a physical platform consisting of multiple Raspberry Pis 4 on YOLOv2, AlexNet [START_REF] Krizhevsky | ImageNet classification with deep convolutional neural networks[END_REF], VGG16 [START_REF] Simonyan | Very deep convolutional networks for large-scale image recognition[END_REF] and GoogLeNet [START_REF] Szegedy | Going deeper with convolutions[END_REF] with a speed-up factor up to 2.8× , 1.2× , 2.4× and 1.7× ; respectively Dynamic Programming (DP). With a similar hardware network on the edge, Zhou et al. [START_REF] Zhou | Adaptive parallel execution of deep neural networks on heterogeneous edge devices[END_REF] proposed an unconstrained DP problem formulation that also includes the computation in the objective function achieving for YOLOv2 and VGG16a speed-up of around 1.5× ∼ 3.4× and 1.1× ∼ 2.3× , respectively. Relaxing objective and constraint functions are a common method to accelerate solution evaluation and selection. In [START_REF] Zeng | CoEdge: Cooperative DNN inference with adaptive workload partitioning over heterogeneous edge devices[END_REF], Zeng et al. reduce a ILP to a Linear Programming (LP) problem by modifying some integer variables to continuous variables. Approximating this way, to a local minima solution. Additionally, in [START_REF] Zeng | CoEdge: Cooperative DNN inference with adaptive workload partitioning over heterogeneous edge devices[END_REF], the authors address the energy consumption of their heterogeneous platform by integrating direct energy measurements constrained to latency deadlines.

From Fig. 9, it has been demonstrated that by relaxing the problem formulation, similarly to [START_REF] Zeng | CoEdge: Cooperative DNN inference with adaptive workload partitioning over heterogeneous edge devices[END_REF]), it is possible to obtain a speed-up gain similar to the state-of-the-art works. As many of the discussed works [5,6,8,[START_REF] Zeng | CoEdge: Cooperative DNN inference with adaptive workload partitioning over heterogeneous edge devices[END_REF], the partitioning techniques include a mixture of layer-wise schemes with fused layer selection. However, the constraint function, for this section includes the logic and memory resources of the programmable logic of the FPGA. These considerations extend the capabilities of the partitioning optimization for hardware DSE. This custom logic awareness contrasts to other approaches for heterogeneous platforms. For instance, in the above discussed solutions, it is mostly focused on a fixed amount of memory resources, which is a common decision for CPU-GPU edge platforms. Furthermore, since not only latency can be modeled as a posynomial, but also the energy, the modification of the objective function is feasible for energy optimization. As observed in Fig. 9, the optimization solution tends to map shallower CNN layers on the FPGA for the three models. These layers are not only the most computational intensive in terms of number of Multiply and ACcumulates (MACs), but also the tensor to communicate are lighter [START_REF] De Oliveira | Partitioning convolutional neural networks to maximize the inference rate on constrained IoT devices[END_REF]. This means, that these layers have a high CCR, which allow a suitable mapping on custom logic. However, since the communication overhead on heterogeneous systems is substantial, the first memory transfers without layer fusion introduces a considerable latency in the first layer to FPGA accelerator. Nevertheless, even considering this slow transfer the optimized heterogeneous partition solution still outperforms the single-device CPU solution. The speed-up factor is then reduced for deeper layers with values that ranges between 3.1× ∼ 5.7× , 2.8× ∼ 6.4× , and 2.8× ∼ 6.3× for AlexNet, VGG16 and ResNet18, respectively.

Although, the previous examples mostly focus on latency performance, it is possible to obtain the energy metric performance in Joules ( E(⋅) ) by simply integrating power in Watts ( P(⋅) ) over the processing or latency time window in seconds ( LAT(⋅) ) of one single FM. If power is constant, this is simplified to E(⋅) = P(⋅) × LAT(⋅) . As demonstrated in a previous work from the authors, constant power is often the case for power performance estimation at when maximum computing or communication capabilities are capped [START_REF] Carballo-Hernández | Flydeling: Streamlined performance models for hardware acceleration of CNNs through system identification[END_REF]. Therefore, any speed-up in latency translates in a direct reduction of energy consumption by the same factor. This is specially true for embedded devices, since layers from models like AlexNet, VGG16 and ResNet18, contain enough computation and communication to cap power dissipation of each accelerator. In cases where the accelerated partition is small enough that the power model ( P(⋅) ) is not constant, then a similar analysis must be done. While the constrains remain the same from Eq. 14, the objective function must be updated as show in Eq. 15:

Assuming then constant power dissipation, the energy reduction factors remain similar to the latency speed-up factor: 3.1× ∼ 5.7× , 2.8× ∼ 6.4× , and 2.8× ∼ 6.3× for AlexNet, VGG16 and ResNet18, respectively.

Conclusions

This work has proposed an automated method for CPU-GPU-FPGA partition selection of a given CNN layer. It has been shown that the partitioning problem can be modeled within the GGP framework, modeling each system performance metric in a posynomial form depending on CNN hyperparameters and architecture resource modeling. Wellknown partitioning techniques in the state-of-the-art have been analyzed for layer-wise partitioning: tiling, grouped convolution, depth-wise separable convolutions and fused layers. An analytical formalization is then employed to derive a set of objective functions and constraints as a GGP problem, solvable in polynomial time without requiring a heuristic. It has been demonstrated that it is possible to relax some equality constraints by including a penalization term based on posynomial condensation, and reduce it as multiple simpler GP sub-problems. Experimental results targeting an embedded CPU-FPGA-GPU platform with state-of-the-art CNN layer configurations have demonstrated that the simplified problem is solvable in polynomial time.

Figure 1

 1 Figure 1 Architecture model as for the heterogeneous setup with three computing elements: A Nvidia ® Jetson TX2 ® CPU-GPU (green) SoC and an Intel ® Cyclone10GX FPGA (blue) interconnected through x4 lanes of a PCIe Gen2 link (gray). Each processing element

Figure 2

 2 Figure 2 Setup 1: Single layer setup of a single CNN layer allocation.

Figure 4

 4 Figure 4 Heterogeneous objective function per iteration (without penalization term) from problem in Eq. 7.

Figure 5

 5 Figure 5 shows an example of a partitioning by relaxation and tightening over the same channel-wise layer partitioning of the Fig. 3. The red bars represent the partition hosted in the CPU, the green bars those on the GPU and finally, the blue bars represent the channels. The found solution fits the partitions mostly on the FPGA, until the equality constraint is tight enough to fulfill the desired value ( C = 16).

Figure 6 2 :

 62 Figure 6 Setup 2: Multi-layer setup of a full CNN model with several layers allocated. The heterogeneous architecture is theoretically simulated.

Figure 7

 7 Figure 7 Communication weight function S(x) = x 2k for different values of k.

Figure 8

 8 Figure 8 Approximation error function based on L2-Norm.

Figure 9

 9 Figure 9 Resulting GConv channel-wise optimized partitions for AlexNet Fig. 9a, VGG16 Fig. 9b and ResNet Fig. 9c.

Table 1

 1 Optimization state-of-the-art comparison.

	a Open-source software for automatic large graph partitioning
	b Using theoretical architecture from Setup 2

Funding This project has received funding from the European Union's Horizon 2020 research and innovation program under the Marie Skłodowska-Curie grant agreement No 765866.

Data Availability Authors declare that the data within this article can be generated from: https:// zenodo. org/ doi/ 10. 5281/ zenodo. 10055 869. Available data from a specific hardware platform has been described in: https:// doi. org/ 10. 1145/ 35948 70.

Declarations

Competing Interests All authors certify that they have no conflicts of interest to declare relevant to the content of this article.


Philippe Rodriguez

Brigitte Caussat

Carine Ablitzer

Xavière Iltis

Meryl Brothier

Alumina Coating on Dense Tungsten Powder by Fluidized Bed Metal Organic Chemical Vapour Deposition

Keywords: MOCVD, Fluidized Bed, Alumina, Tungsten Powder, Aluminium Acetylacetonate

In order to study the feasibility of coating very dense powders by alumina using Fluidized Bed Metal Organic Chemical Vapour Deposition (FB-MOCVD), experiments were performed on a commercial tungsten powder, 75 m in median volume diameter and 19,300 kg/m 3 in grain density. The first part of the work was dedicated to the experimental study of the tungsten powder fluidization using argon as carrier gas at room temperature and at 400 C. Due to the very high density of the tungsten powder, leading to low initial fixed bed heights and low bed expansions, different weights of powder were tested in order to reach satisfactory temperature profiles along the fluidized bed. Then, using argon as a fluidized bed former and aluminium acetylacetonate Al(C 5 O 2 H 7 3 as a single source precursor, alumina thin films were deposited on tungsten particles at a low temperature range (e.g., 370-420 C) by FB-MOCVD. The influence of the weight of powder, bed temperature and run duration was studied. Characterizations of the obtained samples were performed by various techniques including scanning electron microscopy (SEM) coupled with Energy Dispersive X-ray Spectroscopy (EDS) analyses, Field Emission Gun SEM (FEG-SEM) and Fourier Transform InfraRed (FT-IR) spectroscopy. The different analyses indicated that tungsten particles were uniformly coated by a continuous alumina thin film. The thickness of the film ranged between 25 and 80 nm, depending on the coating conditions. The alumina thin films were amorphous and contained carbon contamination. This latter may correspond to the adsorption of species resulting from incomplete decomposition of the precursor at so low deposition temperature.

INTRODUCTION

The Fluidized Bed Chemical Vapour Deposition (FB-CVD) process presents great potential for the formation of improved coatings on powder materials 1 and also for producing new materials. 2 For example, FB-CVD has been used to prepare supported catalyst, to improve surface properties of powders towards wear, oxidation and temperature resistance, to generate microelectronic and photovoltaic materials, to coat nuclear fuel particles and to produce multi-or single-walled carbon nanotubes. 3 4 On the other hand, the FB-CVD process is generally limited to a narrow range of powders, approximately those with mean diameter between 50 and 800 m and with grain density ranging between 1,500 and 4,000 kg/m 3 . 5 6 For large and/or very dense particles, a derived technology, called spouted bed is used. Originally, this technique has been developed for wheat drying [START_REF] Mathur | [END_REF] and, since, has been widely, but not * Author to whom correspondence should be addressed. exclusively, used for nuclear fuel coating. 8 9 The fact that fluidized bed processes are limited to a narrow range of powders explains why the literature concerning the fluidization of very dense powders is scarce.

In this work, we studied the fluidization of a tungsten powder and its alumina coating by Fluidized Bed Metal Organic Chemical Vapour Deposition (FB-MOCVD). First, the fluidization of tungsten powder at room temperature and at 400 C using argon as carrier gas is described. Then, using aluminium acetylacetonate Al(C 5 O 2 H 7 3 as a single source metalorganic precursor, alumina thin films were coated on tungsten particles at a low temperature range (e.g., 370-420 C) by FB-MOCVD. Characteristics of the deposits are discussed.

EXPERIMENTAL DETAILS

The Fluidized Bed Chemical Vapour Deposition reactor was made of a vertical cylindrical column of stainless steel with an internal diameter of 0.05 m and a height of about 1 m. The reactor was externally heated by a twozone electrical furnace and the wall temperatures were controlled using two thermocouples. The bed temperatures were monitored at various heights using several thermocouples to measure the axial profile of temperatures in the bed. An Inconel ™ porous plate was used for the gas distribution and argon was used as carrier gas. A differential pressure sensor measured the pressure drop existing between the bottom part of the reactor (under the distributor) and its top part. Moreover, an absolute pressure sensor allowed monitoring the total pressure above the distributor. A DasyLab ® system enabled the on-line acquisition of the differential pressure, the total pressure and the axial profile of bed temperatures. During MOCVD experiments, the precursor was evaporated from a stainless steel sublimator placed in a thermostated oil bath and was fed into the reactor through heated lines to prevent condensation. Argon flow rates, supplied directly to the bottom of the reactor or through the sublimator, were controlled by mass flow controllers. FB-MOCVD experiments were carried out at atmospheric pressure.

In this study, tungsten powder (T-1220) produced by CERAC, Inc. and supplied by NEYCO was used as a model powder. According to the characteristics provided by the producer, the grain density is 19,300 kg/m 3 . The particle size distribution values measured by laser scattering (performed with a Beckman Coulter LS ™ 13 320 particle size analyser) indicated that the distribution of the particle diameters D 10 /D 90 is 50 m/105 m with a median diameter of the particles (D 50 of about 75 m. Scanning Electron Microscopy (SEM) observations highlighted that particles are non spherical and faceted, as shown by Figure 1.

The alumina coatings were performed using aluminium acetylacetonate Al(C 5 O 2 H 7 3 (99%) as a single-source metalorganic (MO) precursor purchased from Strem Chemicals, Inc.

The morphology and the composition of the tungsten powder and the coated particles were studied by Field Emission Gun Scanning Electron Microscopy (FEG-SEM) coupled with Energy Dispersive X-ray Spectroscopy (EDS) analyses (Philips XL 30 FEG) and by FEG-SEM (JEOL JSM 6700F). Moreover, the chemical composition of the films were analysed by Fourier Transform InfraRed (FT-IR) spectroscopy using a Thermo Nicolet Nexus 470 FT-IR spectrometer. The IR spectra were recorded under diffuse reflection conditions in the 4,000-400 cm -1 region. For each spectrum, the number of scans was 100 and the resolution was 4 cm -1 . Film spectra were obtained by subtracting the spectrum obtained for uncoated powder (reference) to spectra obtained for coated powders. Thus, obtained spectra only correspond to the deposit and not to a combination of the deposit and the substrate.

The fluidization hydrodynamics was studied by plotting the bed pressure drop versus increasing and decreasing gas superficial velocity. A normalized bed pressure drop P * was calculated by dividing the bed pressure drop measured experimentally by the theoretical bed pressure drop (equal to the bed weight per column surface area). In addition to this study performed in the FB-MOCVD reactor, observations of the hydrodynamics of the bed were made in a transparent glass column having the same dimensions.

RESULTS AND DISCUSSION

Fluidization Study of Tungsten Powder

Before performing the MOCVD experiments, a hydrodynamic study was performed at room temperature and at 400 C in order to (i) demonstrate the ability to fluidize of the tungsten powder and to (ii) identify optimal experimental conditions to obtain uniform alumina coating by MOCVD.

Figure 2 details the fluidization results obtained at room temperature.

These results, coupled with observations of the hydrodynamics of the bed through the glass column, highlighted that the fluidization of the tungsten powder was achieved. Using argon as carrier gas, the measured minimum fluidization velocity (U mf is close to 2.6 cm/s. Even if fluidization was reached, this latter remained difficult as shown by the hysteresis observed for normalized bed pressure drops between increasing and decreasing gas velocities. The fact that fluidization was not easy was confirmed by the very low bed expansion measured thanks to the observations through the glass column: only about 10% for a fully fluidized bed of tungsten particles whereas standard values obtained for more conventional powders generally range between 30 and 40%. [START_REF] Kunii | Fluidization Engineering[END_REF] In a second step, optimal experimental conditions were found to obtain: (i) a fluidized bed with a temperature stabilized at least at 400 C, which is the lowest temperature limit to obtain a significant decomposition of the singlesource MO precursor and (ii) an isothermal bed of tungsten particles. This second point is a key parameter to obtain bed was fully fluidized and isothermal: T between the bottom and the top of the bed was less than 2 C. These optimal experimental conditions were used for performing FB-MOCVD experiments.

FB-MOCVD of Alumina on Tungsten Powder

FB-MOCVD of alumina was studied by varying different experimental parameters such as bed temperature, carrier gas flow rate sent through the sublimator line and coating duration. The results obtained are discussed below.

Different thermocouples, placed inside the particle bed at different heights, indicated identical values during all the MOCVD process, which confirmed that the bed was fluidized and isothermal. During the first minutes of the coating procedure, we noticed a slight decrease of the bed temperature. This latter may be related to the introduction of the precursor into the reactor and its further decomposition that requires energy supply. At the beginning of the coating, the necessary energy is provided by the bed, leading to a slight decrease of its temperature (e.g., 5-6 C). Then, after a few minutes of heating regulation, the particle bed is stabilized. The comparison of the experimental normalized bed pressure drop with the theoretical one confirmed that the tungsten particle bed was fully fluidized during all the experiments.

At the macroscopic scale, the difference between coated and uncoated particles is obvious. Whereas uncoated particles are metallic grey, the coated particles exhibit a brown tint. This latter could be surprising for alumina coatings. However, several works, in which alumina coatings were obtained from aluminium acetylacetonate precursor in our range of temperature, i.e., 390-450 C, reported that the obtained films exhibited orange-claret, 10 golden brown 11 or tan and dark tan 12 tints. These colours could be explained uniform coatings by MOCVD. Moreover, for our application, low bed weights are required. Then, the aim of this experimental part was not only to obtain an isothermal and fully fluidized bed of particles but with the lowest possible bed weight as well. For this point, we carefully studied the influence of the H 0 /D ratio (initial fixed bed height to reactor diameter) on the bed thermal behaviour. It is well known that the higher the H 0 /D ratio is, the better the thermal and mass transfers are and that H 0 /D ratios up to 4-5 are generally used for FB-CVD coatings. 3 In our case, such values correspond to bed weights ranging between 3.4 and 4.2 kg, which are not conceivable for our further application. Then, experiments were carried out using ratios between the gas velocity and the minimum fluidization velocity U g /U mf close to 3.5 and thermal profiles were recorded for H 0 /D ratios ranging between 0.5 and 2. The analyses of bed thermal profiles showed that for the lowest H 0 /D ratios, the target bed temperature (400 C) could not be reached even with an important overheating of the reactor walls. Only H 0 /D ratios higher than or equal to 1 allowed to reach a bed temperature around 400 C and only H 0 /D ratios higher than or equal to 1.2 allowed to obtain very low thermal gradients ( T ) between the bottom and the top of the bed (i.e., isothermal beds). These experiments allowed to find a compromise between an acceptable thermal behaviour and a reasonable bed weight: for bed weights of 1,500 g, corresponding to H 0 /D ratios of 1.8, satisfactory thermal profiles were obtained with bed temperatures stabilized around 400 C after 2hof heating process. However, the furnace set point had to be fixed at 750 C. The important gap between the furnace and the bed temperatures might be explained by the very low bed expansion described in the previous paragraph, which leads to low thermal transfers between particles and reactor walls. For these experimental conditions, the particle by an alumina film contamination due to carbon and pyrolysis by-products incorporation. 10 12 The uniform tint of particles after MOCVD tends to indicate that all particles were uniformly treated. This has been confirmed by the SEM-EDS and FEG-SEM analyses performed and discussed below.

The difference between coated and uncoated tungsten particles has been studied at microscopic scale by SEM-EDS analyses and FEG-SEM observations. The surface morphology of uncoated particles is relatively smooth as shown by Figure 3(a). Moreover, EDS analyses (not shown here) performed on uncoated samples showed the different characteristic peaks of tungsten and, for some particles, the peak of oxygen. This latter is probably due to a partial oxidation of tungsten powder during handling under air. For all experiments, the examination of coated particles exhibited pronounced morphologic differences. SEM and FEG-SEM observations, at relatively low magnification, show that all particles were uniformly covered by a continuous film. At higher magnification, the presence of a coating film is obvious (Fig. 3(b)). The coating increases the surface roughness and its morphology appears tortuous with hollows and bumps. Moreover, the film surface seems to be composed of a multitude of nodules as illustrated by Figure 3(b). EDS analyses on coated samples (Fig. 3(c)) exhibit oxygen, carbon and aluminium peaks. Tungsten is also detected because EDS analyses concern thicknesses higher than those of alumina deposits. The comparison of the EDS spectra of coated and uncoated particles suggest that an alumina film with carbon impurities was obtained for all experiments.

Several attempts to estimate the coating thickness have been realized. According to approximate calculations based on precursor consumption, the film thickness is probably lower than 100 nm. Experimental evidences have been obtained by SEM observations of crushed coated particles using backscattered electron (BSE) detector to highlight the contrast between areas with different elemental compositions. Preliminary results showed that film thickness is ranging between 25 and 80 nm depending on the coating conditions. An example of film thickness observation is shown on Figure 4.

The Figure 4(a) allows showing the uniformity of the deposit all around the tungsten particles. Because heavy elements (high atomic number) backscatter electrons more strongly than light elements (low atomic number), tungsten particles appeared brighter than alumina films. To facilitate the micrograph interpretation, white arrows highlight the alumina film. The FEG-SEM micrograph exhibited on Figure 4(b) was taken on another particle and at higher magnification than the one shown on Figure 4(a). This kind of micrograph allows measuring the coating thickness. On this sample, the estimated average thickness was close to 40 nm. The coating thickness appeared to be regular from one particle to another.

The chemical composition of the coatings has been determined by FT-IR analyses; a representative spectrum is shown in Figure 5. FT-IR spectra exhibit several bands corresponding to different vibrational transitions; certain ones are relatively easy to identify, whereas others could have different origins.

The broad band observed in the 520-960 cm -1 region could be due to the presence of aluminium oxide in an amorphous state. 13 This fact is not surprising because at these relative low processing temperatures (370-420 C), aluminium oxide films obtained by MOCVD are mainly amorphous. 14 This band is composed of the contribution of the bending vibration mode of the O-Al-O bond that is located at 650-700 cm -1 and the stretching vibration mode of the Al-O bond located at 750-850 cm -1 . 15 The different bands observed in the 1350-1650 cm -1 region could be representative of carbon impurities in the samples; these bands are characteristic of C C and C-O vibrations. 12 These bands could also be attributed to non-decomposed aluminium acetylacetonate molecules. Indeed, the literature data for Al(C 5 O 2 H 7 3 indicate matching peaks in this region. 12 The peaks located at 1010 cm -1 and 1160 cm -1 could also be attributed to the incomplete decomposition of the MO precursor and related to the Al(C 5 O 2 H 7 3 molecule vibrations. 12 Moreover, the peak located at 1590 cm -1 could be related to the acetylacetonate ligand vibrations. 16 Finally, the broad band in the 3200-3700 cm -1 range corresponds to O-H bond vibrations. This latter is characteristic of adsorbed water molecules on the film surface.

FT-IR analyses tend to confirm that obtained coatings are alumina films with carbon impurities as indicated by EDS analyses; they also suggest that alumina films are amorphous as previously reported in literature for this low temperature of deposition. 14 Moreover, these analyses highlight that aluminium acetylacetonate molecules and acetylacetonate ligands are probably adsorbed on or incorporated in the alumina film during the coating process. This suggests that the deposition temperature is undoubtedly too low to allow the complete decomposition of the MO single-source precursor.

Concerning the influence of the experimental conditions on the film characteristics, first trends can be drawn from experimental observations. The particle bed temperature has been varied in a very low range; so, first results about film thickness variations observed from one experiment to another might not be assigned to temperature influence. We believe that the film thickness is rather governed by the carrier gas flow rate sent through the sublimator line. Indeed, significant variations of the precursor consumption have been noticed when increasing this flow rate. This result has to be confirmed by a systematic observation of corresponding film thicknesses (work currently in Aluminium oxide films are amorphous and contain carbon impurities. We have found evidences that the processing temperature is probably too low for obtaining the total decomposition of the precursor. Additional experiments are in progress in order to perform the coatings at higher temperature. Finally, the results obtained in this study suggest that FB-MOCVD is a suitable process for coating very dense particles with uniform deposits.

Received: 27 April 2011. Accepted: 17 June 2011. progress). Surprisingly, the increase of coating duration did not lead to a significant increase of precursor consumption. We believe that aluminium acetylacetonate state is damaged after a few hours of heating and that the gaseous concentration of sublimated precursor decrease with run duration. This assertion is supported by the fact that the precursor physical state changes during the MOCVD process. Whereas the initial powder is white and relatively fluid, the powder recovered after deposition exhibits a yellowish tint and forms compact aggregates. This physical change probably lowers the precursor sublimation efficiency. So an increase of run duration is not a solution to increase deposit thickness. Finally, additional experiments are planned to test higher deposition temperatures in order to limit carbon contamination of alumina films. Indeed, increasing coating temperatures should favour MO precursor decomposition into the bed and decrease the adsorption of carbonaceous species in alumina film. Moreover, after coating process, we noted that cold parts located near the exit of the reactor were covered with yellowish deposit. This is probably due to the part of non-decomposed precursor that condenses on cold zones. This phenomenon could be limited by increasing bed temperature thus leading to an increase of precursor decomposition yield on the tungsten powder.

CONCLUSION

After having demonstrated the ability to fluidize very dense tungsten particles with a median volume diameter of 75 m and a grain density of 19,300 kg/m 3 ,wehave successfully achieved the Fluidized Bed MetalOrganic Chemical Vapour Deposition (FB-MOCVD) of alumina on this powder. Aluminium acetylacetonate Al(C 5 O 2 H 7 3 was used as single-source precursor.

Microscopic characterizations after experiments indicate that all the particles were uniformly treated. The alumina coatings have thicknesses ranging between 25 and 80 nm depending on the samples. Their chemical composition of the film has been studied using FT-IR spectroscopy.

Fig. 1 .

 1 Fig. 1. FEG-SEM micrograph of the tungsten powder.

Fig. 2 .

 2 Fig. 2. Tungsten powder bed normalized pressure drop versus superficial gas velocity at room temperature.

Fig. 4 .

 4 Fig. 4. FEG-SEM micrographs of crushed tungsten particles coated by alumina (BSE mode).

Fig. 3 .

 3 Fig. 3. FEG-SEM micrographs of (a) an uncoated tungsten particle and (b) tungsten particle coated by alumina; (c) EDS analysis of tungsten particle coated by alumina.

Fig. 5 .

 5 Fig. 5. FT-IR spectrum of alumina film coated on tungsten particles.

Acknowledgments: The authors would like to thank Michel Molinier and Étienne Prevot from LGC for their technical support, Hélène Rouquette and Nicolas Tarisien from CEA for the SEM observations, Noëlle Arnaud and Joël Raynal from CEA for the FT-IR analyses.